Java interface vs abstract class - 언제 무엇을 쓸까

‘인터페이스와 추상클래스의 차이’는 흔한 질문같지만 표면적인 차이 이상으로 들어가다보니 꽤 다양한 생각들을 만날 수 있었다. Java8에서 인터페이스에 ‘디폴트 메서드’를 추가할 수 있게 되어서 둘의 차이점이 많지 않아졌다. 언제 무엇을 쓰는게 바람직한가를 좀더 자세히 살펴봤다. 특징 먼저 기본적인 특징들을 살펴보자. 인터페이스 상수(static final ~) 와 추상메서드를 포함할 수 있다 1 2 3 4 interface Barkable { public static final int BLABLA_CONSTANT = 1; public abstract void bark(); } Java8부터 디폴트 메서드 (안에 구현까지 작성 가능)를 포함할 수 있다 ...

2021년 10월 24일 · 867 단어 · Mihyang Gu