본문 바로가기

CS/OOP

Abstract와 Interface

728x90

Java 관련 면접에서 자주 나오는 추상클래스와 인터페이스의 차이를 알아보자

 

인터페이스와 추상클래스는 비슷한점이 많지만 서로 다른 목적을 가진다.

인터페이스: 인터페이스에 정의된 메서드들을 각 클래스의 목적에 맞게 구현한다.

추상클래스: 자신의 기능을 아래로 확장시킨다.

 

목적 공통 기능(상속) 제공. 표준 규격 정의(구현).
메서드 추상 메서드 + 일반 메서드 가능. 추상 메서드만 포함 (Java 8부터 default 메서드 지원).
필드 인스턴스 변수, 상수 모두 가능. 상수만 가능 (Java 8 이후 일부 허용).
다중 구현 다중 상속 불가. 다중 구현 가능.