[ 언어·프레임워크/Java ]
[Java] 추상 클래스와 인터페이스
2024-02-02 11:01:12
1. 공통점 추상화(선언부는 보여주고, 구현부는 숨김)를 위해 사용한다. 상속받거나(extends) 구현(implements)하는 클래스에게 추상 메서드를 구현하도록 강제한다. 스스로 인스턴스를 생성할 수 없다. 2. 차이점 내용 추상 클래스 인터페이스 비고 추상 메서드가 반드시 있어야 하는가? ❌ ⭕ 추상 클래스의 경우 추상 메서드가 없어도 된다. 멤버 변수, 메서드를 가질 수 있는가? ⭕ ❌ 인터페이스는 상수와 추상 메서드를 가질 수 있고-자바8 이상의 경우-default, static 메서드를 가질 수 있다. 다중 상속 처럼 사용할 수 있는가? ❌ ⭕ 추상 클래스는 모호성을 제거하기 위해 다중 상속을 지원하지 않는다. 추상 메서드에 abstract 키워드를 반드시 붙여야 하는가? ⭕ ❌ 용도(사용 ..