인터페이스의 활용
( 100퍼센트 다형성 보장 )
=> 추상메서드만 가능, 구현된 메서드를 가질 수 없다.
서로 기능이 다른 클래스일 때 인터페이스 씀.
기능이 다르니 추상클래스로 묶을 수가 없다.
( 추상클래스에는 구현된 공통메서드가 있기 때문 )
추상클래스 : abstract 를 extends
인터페이스 : interface 를 implements
추상클래스와 인터페이스의 공통점과 차이점
공통점
다형성 보장을 위해서 등장
객체를 생성할 수 없다. (추상메서드 때문에 불완전한 클래스야)
하위클래스에 의해 구현되어야 한다. (override, 재정의 필수)
부모(상위클래스)의 역할로 사용한다.
(upcasting으로 객체를 생성함)
추상메서드를 가진다.
차이점
abstract class (추상클래스)
서로 기능이 비슷한 클래스의 공통부분을 묶을 때 사용
구현메서드와 추상메서드를 함께 가질 수 있다.
interface (인터페이스)
서로 기능이 다른 클래스의 공통부분을 묶을 때 사용
추상메서드'만' 가질 수 있다.
ㄴ 자바 1.8부터는 바뀜, 더 알아볼 것
다중상속 형태를 지원한다.
final static 멤버변수를 가질 수 있다.
'백엔드개발자 > JAVA: JAVA TPC 강의' 카테고리의 다른 글
API를 이해해보기 (0) | 2021.10.20 |
---|---|
String은 객체라구욧 (0) | 2021.10.19 |
추상클래스 (0) | 2021.10.16 |
다형성 실습 (0) | 2021.10.16 |
다형성, 다형성 활용 (0) | 2021.10.15 |