[GoF] Composite 패턴 : 그릇과 내용물을 동일시한다 [재귀적인 구조를 만드는 패턴]
·
◈ Study/디자인패턴(GoF)🥞
- Composite 패턴 : 그릇과 내용물을 동일시한다 Composite 패턴은 컴퓨터 파일 시스템의 '디렉터리(Directory)'처럼 '중첩'된 구조, 재귀적인 구조를 만들어내는 패턴이다. 그릇과 내용물을 동일하게 만들어내는 것이 특징이다. - 어떤 경우에 사용할까? 그릇과 내용물을 같은 종류로 취급하면 편리한 경우가 있다. Composite 패턴을 사용하면 그릇 안에 내용물을 넣을 수도 있고, 더 작은 그릇을 넣을 수도 있다. 이러한 형태로 중첩된 구조, 재귀적인 구조를 만들 수 있다. - 예제 코드 이름 설명 Entry File과 Directory를 동일시하는 추상 클래스 File 파일을 나타내는 클래스 Directory 디렉터리를 나타내는 클래스 Main 동작 테스트용 클래스 - Entry 클..
[JAVA] 클래스 간의 관계 [Composite, 포함관계, 관계 결정하기]
·
◎ Java/Java☕
1. 클래스 간의 관계 상속 이외에도 클래스를 재사용하는 방법이 있다. 클래스 간에 '포함(Composite)' 관계를 맺어 주는 것 → 한 클래스의 멤버변수로 다른 클래스 타입의 참조변수를 선언 원(Circle)을 표현하기 위한 Circle이라는 클래스가 있다. class Circle { int x; // 원점의 x좌표 int y; // 원점의 y좌표 int r; // 반지름(radius) } Point 클래스를 재사용해서 Circle 클래스를 작성한다면 다음과 같이 할 수 있다. class Circle { Point c = new Point(); // 원점 int r; // 반지름(radius) } class Point { int x; // x좌표 int y; // y좌표 } 하나의 거대한 클래스를 ..