추상 클래스
-
10강. 코틀린에서 상속을 다루는 방법BackEnd/Kotlin 2024. 3. 4. 06:30
추상 클래스 인터페이스 클래스를 상속할 때 주의할 점 상속 관련 지시어 정리 추상 클래스 다음은 추상클래스인 JavaAnimal 코드입니다. public abstract class JavaAnimal { protected final String species; protected final int legCount; public JavaAnimal(String species, int legCount) { this.species = species; this.legCount = legCount; } abstract public void move(); public String getSpecies() { return species; } public int getLegCount() { return legCount; ..
-
Item 20. 추상 클래스보다는 인터페이스를 우선하라Book/Effective Java 3E 2022. 10. 29. 08:46
자바가 제공하는 다중 구현 메커니즘은 인터페이스와 추상 클래스, 이렇게 두가지입니다. 자바8부터 인터페이스도 디폴트 메서드(default method)를 제공할 수 있게 되어, 이제는 두 메커니즘 모두 인스턴스 메서드를 구현 형태로 제공할 수 있습니다. 인터페이스는 믹스인(mixin) 정의에 안성맞춤입니다. 믹스인이란 클래스가 구현할 수 있는 타입으로, 믹스인을 구현한 클래스에 원래의 '주된 타입' 외에도 특정 선택적 행위를 제공한다고 선언하는 효과를 줍니다. 예컨대 Comparable은 자신을 구현한 클래스의 인스턴스들끼리는 순서를 정할 수 있다고 선언하는 믹스인 인터페이스입니다. 추상 클래스로는 믹스인을 정의할 수 없습니다. 자바는 단일 상속만 지원하니, 클래스 계층구조에는 믹스인을 삽입하기에 합리적..