default
키워드를 붙이며, 추상 메서드와 달리 일반 메서드처럼 몸통 {}
이 있어야한다. 접근제어자는 public
이며 생략 가능하다. 1) 여러 인터페이스의 디폴트 메서드 간의 충돌
인터페이를 구현한 클래스에서 디폴트 메서드를 오버라이딩 해야 한다.
2) 디폴트 메서드와 부모 클래스의 메서드간의 충돌
부모 클래스의 메서드가 상속되고, 디폴트 메서드는 무시된다.
내부 클래스의 장점.
· 내부 클래스에서 외부 클래스의 멤버들을 쉽게 접근할 수 있다.
· 코드의 복잡성을 줄일 수 있다.(캡슐화)
abstract
나 final
과 같은 제어자를 사용할 수 있을뿐 아니라, 멤버변수처럼 private
, protected
과 접근 제어자도 사용 가능하다.