JAVA 객체지향 디자인 패턴<UML과 GoF 디자인 패턴 핵심 10가지로 배우는> 정리
2. 일반화 관계
한 클래스가 다른 클래스를 포함하는 상위 개념일 때 두 클래스 사이에는 일반화 관계가 존재한다.
- 객체 지향 개념에서는 일반화 관계를 상속 관계("is a kind of" 관계)라고 한다.
-
부모 클래스
- 추상적인 개념 (실제로 존재하지 않는다.)
- 삼각형 표기사 있는 쪽
- 가전 제품
-
자식 클래스
- 구체적인 개념
- 삼각형 표시가 없는 쪽
- 세탁기, TV, 식기 세척기
- '세탁기'is a kind of '가전제품'
- 'TV' is a kind of '가전 제품'
- '식기 세척기' is a kind of '가전 제품'
-
부모 클래스는 자식 클래스의에게 공통 속성이나 연산을 제공하는 틀이다.
추상 클래스
-
추상 메소드를 하나 이상 가지는 클래스
-
추상 메소드
-
부모 클래스에서 구현되지 않은 빈 껍데기만 있는 연산
-
예를 들어, 위의 예에서 turnOn과 turnOff는 자식 클래스 마다 다르기 떄문에 부모 클래스인 가전 제품에서 해당 연산에 대한 정의를 하지 않고 빈 껍데이만 있는 연산(추상 메소드)를 제공한다.
-
추상 클래스는 다른 일반적은 클래스와는 달리 객체를 생성할 수 없다.
-
-
UML에서의 추상 클래스와 추상 메소드 표현
- 이탤릭체
- 스테레오stereotype 타입('<<', '>>' 기호 안에 원하는 이름을 넣음)