본문 바로가기
프로그래밍 언어/Java

포함관계와 추상화 구현 순서

by 진진리 2023. 10. 16.
728x90
  • 포함관계

 

클래스 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;으로 대입한다.

다형성을 이용해 M 내에서 A, B, C, D 간의 변경을 위해 N 클래스 내부에 생성자와 같은 내용인 set 메서드를 생성한다.

클래스 N에서 재정의된 추상 메서드는 m.e();와 같이 사용한다.

'프로그래밍 언어 > Java' 카테고리의 다른 글

열거 타입(Enum)  (0) 2023.10.20
정규표현식  (0) 2023.10.17
추상 클래스와 인터페이스 비교  (0) 2023.10.16
자주 쓰는 함수  (0) 2023.10.10
자료형 String  (0) 2023.09.21