※ Abstract class(추상 클래스)란?

  • 한 개 이상의 '추상 메서드'를 포함하는 클래스이다.
  • 예를 들면 '빈 칸 있는 시험지'와 비슷하다. (반드시 추상 메서드의 내용을 채워넣어야 한다.)

※ Abstract class의 특징
  • 객체를 만들 수 없다.
  • '추상 메서드' 구현을 위해 서브 클래스가 필요하다.

※ Interface(인터페이스)란?

  • '상수'와 '추상 메서드'의 집합이다.
  • 예를 들면 '빈 껍데기'와 비슷하다. (속 전체를 채워 넣어야한다.)

※ Interface의 특징
  • 변수를 가질 수 없다. (멤버변수는 상수이다.)
  • 모든 메서드는 public이어야 한다.
  • 모든 메서드는 '추상 메서드'이다. (메서드의 내용이 들어갈 수 없다.)

※ Abstract class와 Interface의 차이

 Abstract class

 Interface

 '추상 메서드'가 아닌 메서드도 포함할 수 있다.

 '추상 메서드'만을 포함한다.

 '변수'를 가질 수 있다.

 오직 '상수'만을 포함한다.

 extends 사용.

 Implements 사용.

 단일 상속만 가능.

 다중 상속 가능.



▶ 관련 사이트 바로가기

  1. beginnersbook(http://beginnersbook.com/2013/05/abstract-class-vs-interface-in-java/)







'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

+ Recent posts