Java 디폴트 메서드와 static메서드
by 볼빵빵오춘기디폴트 메서드와 static 메서드
- 인터페이스 디폴트 메서드, static메서드 추가 가능(JDK1.8부터)
- 인터페이스에 새로운 메서드(추상 메서드)를 추가하기 어려움(해결책 ⇒ 디폴트 메서드)
- 디폴트 메서드는 인스턴스 메서드(인터페이스 원칙 위반)
더보기
원래 인터페이스에 추가하면 추상메서드여야한다.
인터페이스는 추상메서드만 가져야하기때문이다.
그런데 인터페이스에 추상메서드 하나를 추가한다고 하면 기존에 인터페이스를 사용하던 클래스들에 추가된 추상메서드도 다 구현을 해줘야한다.
그러면 많은 변경이 일어난다.
그 문제를 해결하기 위해 몸통이 있는 메서드를 추가할 수 있게 해준것이다.
그리고 앞에 default키워드를 붙여주면된다.
- 디폴트메서드가 기존의 메서드와 충돌할 때의 해결책이다.
더보기
- 여러 인터페이스의 디폴트 메서드 간의 충돌
⇒ 인터페이스를 구현한 클래스에서 디폴트 메서드를 오버라이딩해야 한다. - 디폴트 메서드와 조상 클래스의 메서드 간의 충돌
⇒ 조상 클래스의 메서드가 상속되고, 디폴트 메서드는 무시된다.
'👩🏻💻 About 프로그래밍 > Java' 카테고리의 다른 글
Java 내부클래스의 제어자와 접근성 (0) | 2023.11.30 |
---|---|
Java 내부클래스의 종류, 특징, 선언 (1) | 2023.11.30 |
Java 인터페이스 장점1+2 (feat. 정리하자면) (1) | 2023.11.30 |
Java 인터페이스의 장점2 (0) | 2023.11.30 |
Java 인터페이스의 장점 (0) | 2023.11.30 |
블로그의 정보
Hello 춘기's world
볼빵빵오춘기