인터페이스 2

인터페이스 기본 메소드와 스태틱 메소드

기본 메서드 (Default Methods) 인터페이스에 메소드 선언이 아니라 구현체를 제공하는 방법 해당 인터페이스를 구현한 클래스를 깨트리지 않고 새 기능을 추가할 수 있다. 기본 메소드는 구현체가 모르게 추가된 기능으로 그만큼 리스크가 있다 컴파일 에러는 아니지만 구현체에 따라 런타임 에러가 발생할 수 있다. 반드시 문서화 할 것. (@implSpec 태그 사용) /** * @IimplSpec * getName()으로 가져온 문자열을 대문자로 바꿔 출력 */ public interface Foo { void printName(); default void printNameUpperCase(){ System.out.println (getName().toUpperCase()); } String getNa..

Language/Java 2022.06.19

인터페이스

인터페이스란? 인터페이스는 일종이 추상클래스다 추상메서드를 갖지만 추상클래스보다 추상화 정도가 높아서 추상클래스와 달리 몸통을 갖춘 일반 메서드 또는 멤버변수를 가질수 없다 모든 멤버변수는 public static final이어야 하며,이를 생략할수 있다 모든 메서드는 public abstract 이어야 하며, 이를 생략할수 있다. 인터페이스는 인터페이스로부터 상속받을 수 있으며, 클래스와는 달리 다중상속,즉 여러개의 인터페이스로부터 상속받을수 있다 다중 상속 단점 두 조상으로부터 상속받는 자손클래스는 어느 조상의 것을 상속받게 되는 것인지 알 수 없다. 어느 한 쪽으로부터의 상속을 포기하던가 이름이 충돌하지 않도록 조상클래스르 변경하는 수 밖에없다 인터페이스는 static상수만 정의할 수 있으므로 클래..

Language/Java 2021.09.26