포함관계와 추상화 구현 순서
포함관계 클래스 A, B, C, D를 클래스 N에 포함시키고자 할 때 클래스 N에 클래스 A의 변수 a, B의 변수 b, ... 를 선언한다. 클래스 N의 생성자를 선언하면서 매개변수를 (A a, B b, C c, D d)으로 받고 this.a = a; this.b = b; 로 각각 저장한다. 이후 클래스 N에서 변수 a, b, c, d의 메서드를 사용한다. ABCD의 공통된 부분으로 추상 클래스 M을 생성(추상화) ABCD의 공통된 함수를 추상 메서드 e로 만든다. 각 A, B, C, D가 M을 상속받고 각각 클래스 내에서 추상 메서드 e를 재정의한다. 클래스 N에 a, b, c, d 대신 추상 클래스 M의 변수 m을 선언한다. 클래스 N의 생성자의 매개변수로 (M m)을 받고 this.m = m;으로..
2023. 10. 16.