일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- R
- 사칙연산
- Kadane's Algorithm
- hash table
- 카데인 알고리즘
- 수학
- scanner
- input
- heroku
- array
- 자바 thread 실행 순서 제어
- SpringBoot 2
- JAVA11
- Easy
- 자바 스레드 실행 순서 제어
- 자바입력
Archives
- Today
- Total
DeFacto-Standard IT
캡슐화에서 인터페이스와 추상클래스의 결정 본문
인터페이스를 사용하는 경우
- 관련되지 않은 클래스에 일반적인 기능을 제공하는데 적합
- 만들고 있는 기능이 광범위한 분산 개체에서 유용하게 사용될 것으로 예상되는 경우
- 작고 간결한 기능을 디자인 하는 경우
추상클래스를 사용하는 경우
- 밀접하게 관련된 개체에 사용
- 여러 버전의 구성요소를 만들 것으로 예상되는 경우
간단하고 쉽게 구성요소의 버전을 작성할 수 있다. 기본 클래스를 업데이트하면 모든 상속 클래스의 변경 내용이 자동으로 업데이트.
(인터페이스의 경우 한번 만들면 변경 불가. 새 버전의 인터페이스가 필요하면 완전히 새롭게 인터페이스를 만들어야 한다.)
- 큰 기능 단위들을 디자인하는 경우
- 모든 구성 요소의 구현 사이의 일반적인 구현된 기능을 제공하는 경우.
추상 클래스를 사용하면 부분적으로 자신의 클래스를 구현할 수 있으나, 인터페이스에서는 멤버를 구현하지 않는다.
'Design Pattern > References' 카테고리의 다른 글
관계, UML, 소스코드 예시 (3) | 2017.12.10 |
---|---|
객체지향 5원칙 (0) | 2017.11.11 |
GoF 디자인 패턴 (0) | 2017.10.28 |
SOLID (5) - 인터페이스 분리 원칙, ISP (0) | 2017.10.28 |
SOLID (4) - 의존 역전 원칙, DIP (3) | 2017.10.28 |
Comments