1. 요구사항이 추가되었다.Robot 클래스는 이름을 가지고 있다.public class Robot { private String name; public Robot(String name) { this.name = name; } public String getName() { return name; }} main()에서 로봇의 이름에 따라 다른 값을 출력하는 로직을 가지고 있다.public class Main { public static void main(String[] args) { Robot robot = new Robot("주먹 로봇"); if(robot.getName().equals("주먹 로봇")) { ..
1. 팩토리 메서드(Factory Method) 패턴이란?팩토리 메서드(Factory Method) 패턴이란 인스턴스를 생성하는 공장을 템플릿 메서드(Template Method) 패턴으로 구성한 디자인 패턴이다. 팩토리 메서드 패턴에서는 인스턴스 생성 방법을 상위 클래스에서 결정하되, 생성의 구체적인 내용은 하위 클래스에서 담당한다.즉, Factory 인터페이스에서 객체를 생성하는 템플릿을 미리 만들어놓고, 서브 Factory 클래스에서 각자의 형태에 맞게 템플릿의 상세 내용을 구현하는 것이다. 2. 예제 코드로 이해하기 2-1. 팩토리 메서드 패턴은 패키지를 분리할 수 있다.framework : 추상화된 클래스를 담는 패키지idcard : 구체화된 클래스를 담는 패키지추상화와 구현부를 패키지로 분리하..
1. 템플릿 메서드(Template Method) 패턴이란?템플릿 메서드(Template Method) 패턴 정의상위 클래스에 템플릿 메서드가 정의되어 있고, 이 메서드 내부는 추상 메서드를 사용하여 하위 클래스에서 구현하도록 하는 디자인 패턴이다. 상위 클래스는 추상 메서드를 사용하는 추상 클래스이며, 하위 클래스가 추상 메서드를 실제로 구현한다. 구체적인 처리 방식은 하위 클래스가 담당하나, 전체적인 흐름은 상위 클래스에서 구성한 대로 된다.상위 클래스는 전체적인 알고리즘의 뼈대를 구성하고, 하위 클래스에서 뼈대의 구체적인 내용을 결정하는 디자인 패턴을 템플릿 메서드(Template Method) 패턴이라고 한다. 2. 템플릿 메서드(Template Method) 예제 코드상위 클래스인 Abstrac..
1. Adapter 패턴이란?Adapter 패턴 정의”이미 제공된 것”과 “필요한 것” 사이의 “차이를” 연결하는 디자인 패턴 새로운 기능을 만들기 위해서 백지 상태에서 처음부터 끝까지 구현할 수도 있겠지만, 기존에 사용하던 기능을 통해 구현한다면 개발 속도도 빠를 것이고 안정적일 것이다. Adapter 패턴은 새로운 기능을 만들되, 기존의 기능을 이용하여 만드는 디자인 패턴이다.Java에서 Adapter 패턴은 두 가지 종류가 있다.클래스에 의한 Adapter 패턴 (상속을 사용한 패턴)인터페이스에 의한 Adapter 패턴 (위임을 사용한 패턴)각 방법에 대해서 차례대로 알아보겠다.2. 클래스에 의한 Adapter 패턴 개념클래스에 의한 Adapter 패턴이란 Java에서 제공하는 상속을 사용하는 것이..
1. Iterator 패턴이란?배열이나 컬렉션에 저장된 요소들을 순차적으로 탐색할 수 있도록, 내부 반복자(for문 등)에서 사용하는 변수(i 등)를 추상화하는 디자인 패턴이다. 자바에서 배열 arr에 저장된 모든 요소를 탐색하려면 보통 i라는 변수를 사용하여 반복문을 작성한다. i를 1씩 증가시키며 각 요소에 접근하는 방식이다.int[] arr = {1, 2, 3};for(int i = 0; i Iterator 패턴을 사용하면 i와 같은 변수를 직접 사용하지 않고도 컬렉션에 저장된 모든 요소를 탐색할 수 있다. 2. 예제 코드 작성하기 Book 클래스Book 클래스는 책의 이름을 저장하고 이를 반환하는 역할을 담당한다.// Book 클래스는 책의 이름을 저장 및 반환하는 책임만 갖는다.public c..