※ Abstract class(추상 클래스)란?
- 한 개 이상의 '추상 메서드'를 포함하는 클래스이다.
- 예를 들면 '빈 칸 있는 시험지'와 비슷하다. (반드시 추상 메서드의 내용을 채워넣어야 한다.)
※ Abstract class의 특징
- 객체를 만들 수 없다.
- '추상 메서드' 구현을 위해 서브 클래스가 필요하다.
※ Interface(인터페이스)란?
- '상수'와 '추상 메서드'의 집합이다.
- 예를 들면 '빈 껍데기'와 비슷하다. (속 전체를 채워 넣어야한다.)
※ Interface의 특징
- 변수를 가질 수 없다. (멤버변수는 상수이다.)
- 모든 메서드는 public이어야 한다.
- 모든 메서드는 '추상 메서드'이다. (메서드의 내용이 들어갈 수 없다.)
※ Abstract class와 Interface의 차이
Abstract class |
Interface |
'추상 메서드'가 아닌 메서드도 포함할 수 있다. |
'추상 메서드'만을 포함한다. |
'변수'를 가질 수 있다. |
오직 '상수'만을 포함한다. |
extends 사용. |
Implements 사용. |
단일 상속만 가능. |
다중 상속 가능. |
'Programming Note > etc' 카테고리의 다른 글
Singleton Pattern이란? (0) | 2017.05.05 |
---|---|
[etc] OSI 모형(OSI 7 Layer) (0) | 2017.04.18 |
[etc]Thread(Critical Section, Mutex, Semaphore) (0) | 2017.03.12 |
Process와 Thread (0) | 2017.03.12 |
FDS (Fraud Detection System) 란? (1) | 2017.01.13 |