반응형

강의 링크
김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍| 김영한 - 인프런 강의
현재 평점 5점 수강생 3422명인 강의를 만나보세요. 최신 자바에 꼭 필요한 람다, 스트림, 자바를 활용한 함수형 프로그래밍 기술을 기초부터 실무 레벨까지 깊이있게 학습합니다. 람다, 함수형
www.inflearn.com
interface default method
default 메서드는 Java 8부터 인터페이스(interface) 내부에 구현된 코드를 포함할 수 있도록 허용된 메서드입니다.
가끔 interface를 쓰다보면 defaultmethod개념이 나온다.
interface의 메서드를 구현하면 안되지만, default method를 사용하여 기본 코드를 구현하는 것이다.
public interface Vehicle {
// 추상 메서드 (반드시 구현해야 함)
String getBrand();
void start();
// default 메서드 (기본 구현 제공)
default void turnOnAlarm() {
System.out.println("경보 시스템을 켭니다.");
}
}
왜 사용할까 ?
1. 코드 중복 감소 및 재사용성 향상
여러 구현 클래스에 공통으로 필요한 기능이 있었을 경우 각각 구현을 했었지만, 이제 하나의 공통 메서드를 통해 바로 사용할 수 있다.
2. API설계의 유연성 증대
나중에 기능이 추가될 것을 고려하여 default메서드를 구현함으로 써 개발자에게 편의성을 제공한다.
3. 하위 호환성 유지
기존에 인터페이스를 상속받아서 사용하고 있는 경우 새로운 메서드가 생길 경우 모든 클래스에서 컴파일 오류가 생기지만, default method를 추가하면, 이미 구현이 되어있기 때문에 오류가 나지 않는다.
주의
다중 implement를 했을 경우 default method에 이름이 같을 때 override를 하여 사용하면 된다.

반응형
'JAVA' 카테고리의 다른 글
| 태태개발일지 - Java 파일 입출력 완전 정리 (0) | 2025.12.01 |
|---|---|
| 태태개발일지 - 김영한 java 고급 (람다) 람다 총정리 (0) | 2025.09.05 |
| 태태코딩 - 김영한 고급 java 람다 (1) | 2025.07.29 |
| 태태개발일지 - 김영한 고급 JAVA LAMBDA (2) | 2025.07.28 |
| 태태개발일지 - flatMap (2) | 2025.07.08 |