본문 바로가기
Language/Java

[자바 기본 개념] 추상메소드 / 인터페이스

by 나비와꽃기린 2016. 6. 22.
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

4. 추상 메소드와 추상 클래스

4.1 추상메소드

- 선언되어 있으나 구현되어 있지 않은 메소드

- abstract 키워드로 선언

-추상 메소드는 서브 클래스에서 오버라이딩하여 구현

4.2 추상 클래스

- 추상 메소드를 하나라도 가진 클래스

- 클래스 앞에 반드시 abstract라고 선언해야 함

- 추상 클래스의 객체는 생성할 수 없다.

 

5. 인터페이스

-모든 메소드가 추상 메소드인 클래스

- 인터페이스는 상수와 메소드만 갖는다. 필드는 없음

- interface 키워드로 선언된 클래스

- 객체 생성 불가

- 인터페이스를 이용하여 다중 상속 구현 à 클래스는 다중 상속 불가

- 인터페이스는 명세서와 같음 à사용자는 구현에 대해 알 필요가 없음

- 인터페이스만 정의하고 구현을 분리하여, 작업자가 다양한 구현을 할 수 있음

- 인터페이스 간 상속 가능, 상속과 구현이 동시에 가능

 

6. 추상클래스와 인터페이스의 비교

비교

내용

추상 클래스

-일반 메소드 포함 가능

-상수, 변수 포함 가능

-모든 서브 클래스에 공통된 메소드가 있는 경우 추상클래스가 적합

인터페이스

-모든 메소드가 추상 메소드,

-상수만 포함 가능

-다중 상속 지원