Java

    MVC 패턴, 제대로 알고 쓰자

    MVC 패턴, 왜 사용할까 개발자는 프로그램을 개발할 때 당장의 개발 뿐만 아니라 이후에 있을 유지보수나 기능 추가, 에러사항에 대한 대응 등을 고려한다. 코드 한 줄을 변경해야 할 때, 매번 거의 모든 코드를 변경해야 한다면 개발자들은 힘들 것이다. 다시 말하자면 이는 각 코드가 서로에 대한 의존도가 높다는 것이고, 앞서 말한 상황을 피하기 위해서는 의존도를 낮춰야 한다는 것이다. MVC 패턴이란 무엇이고, 어떻게 사용할까. 간단한 개념과 예시가 다음 링크에 있다. MVC 아키텍처란 언어 : JAVA 수업 주제 : Class 및 객체지향의 개념 MVC 아키텍처란 Class란 Class란 메서드(함수)와 필드(변수)의 집합체이다. 또한 Class는 프로그램을 개발할 때 기능 단위로 분리하여 작성한다. 자..

    [Java] Thead에서 start()와 run()의 차이점

    start() 는 멀티 스레드에서 동작하고, run() 은 단일 스레드에서 동작한다는 차이가 있다. 들어가면서 우리는 자바 언어로 개발할 때 흔히 Thread라는 클래스를 이용한다. 그러나 우리가 뜻한 바와는 다르게 일렬로 코드가 실행되는 것을 볼 수 있다. 오늘은 멀티 스레드를 쓸 때 어떤 부분이 잘못되었는지에 대해 포스팅하겠다. 멀티 스레드란 한마디로 동시에 여러 작업을 가능하게 만들어 주는 것이다. 반대로 단일 스레드는 모든 작업이 일렬로 진행되는 것을 뜻한다. 멀티 스레드를 사용한다면 화면을 동적으로 만들어 줄 뿐만 아니라 음악과 효과음 같은 디자인적 요소를 풍부하게 사용할 수 있다. Thread th1 = new Thread(); Thread th2 = new Thread(new Runnable..

    [14] 프로그램 설계 방법론 ( GUI 이용 )

    GUI를 사용하여 다음 설계도를 구현해 보자.

    [숙제#3] 프로그램 설계 방법론(아날로그 시계)

    언어 : JAVA 과제 : 아날로그 시계에 초가 지남에 따라 동심원이 커지도록 프로그래밍 하시오. 숙제#1과 숙제 #2는 이미 제출한 관계로 작성하지 않겠다. import java.awt.Color; import java.awt.Graphics; import java.time.LocalTime; import javax.swing.*; public class ClockWriter extends JPanel{ private final int SIZE; private final int MARGIN; private int diameter; public ClockWriter(int _s, int _rate) { SIZE = _s; MARGIN = SIZE/_rate; JFrame frame = new JFrame..

    [05] 프로그램 설계 방법론(클래스와 메소드)

    언어 : JAVA 주제 : [04] 내용 실습 실습 1. 크리스마스까지 몇 달 며칠 남았을까? 설계도 - 클래스 다이어그램 기간을 나타내는 Period 클래스와 LocalDate를 사용한다. Model : Period countdownXmas() ViewOut : void showCountdownXmas(Period p) Controller : void control(Model m, View v) Calendar(Starter) : static void main(String [] args) MVC 아키텍처를 사용하지 않았을 때의 코드는 다음과 같다. import java.time.LocalDate; import java.time.Period; public class Calendar { public sta..

    MVC 아키텍처란

    언어 : JAVA 수업 주제 : Class 및 객체지향의 개념 MVC 아키텍처란 Class란 Class란 메서드(함수)와 필드(변수)의 집합체이다. 또한 Class는 프로그램을 개발할 때 기능 단위로 분리하여 작성한다. 자동차가 프로그램이라면 바퀴, 엔진, 차체 등이 프로그램을 이루는 구성요소, 즉 Class라고 할 수 있다. Class를 사용할 때, 유지보수가 수월해지고 해당 기능의 코드에 대한 접근성이 좋아진다는 장점이 있다. Class 이름 중 첫 문자는 대문자로(전 세계의 암묵적 기준) 쓴다. 예를 들어, MyClassName이라는 Class를 만든다면 다음과 같다. 패키지는 default이다. public class MyClassName { } 클래스 앞의 public은 공개적으로 접근 가능하다..