반응형

JDK 1.8 2

자바(JAVA) - Interface default & static method

jdk 1.8(java 8)부터 인터페이스에 default method와 static method가 추가되었습니다. 이전 버전에서는 인터페이스는 오직 추상 메서드만 가질 수 있었습니다. default method 인터페이스에 새로운 메서드를 추가하거나 변경하게 되면 해당 인터페이스를 구현하는 모든 클래스들이 해당 메서드를 새로 구현해야 하는 불편함이 존재하였습니다. 그래서 이를 해결하기 위해 인터페이스에 default 메서드 기능을 추가하였습니다. 인터페이스는 추상 메서드만을 갖는 원칙이 있었습니다. 여러 인터페이스들간의 충돌을 방지하기 위해 추상 메서드만을 사용하도록 하였습니다. 하지만 default 메서드는 추상 메서드가 아닌 인스턴스 메서드로 '{ }' 바디를 가질 수 있습니다(구현될 수 있다). ..

자바(JAVA) - Optional

Optional은 jdk 1.8(java 8)부터 추가된 기능입니다. Optional 클래스는 제네릭 타입의 클래스이며 타입 파라미터로 T 타입을 사용되며 T 타입의 참조 변수 value가 있습니다. public final class Optional { private final T value; ... } 제네릭 타입은 데이터 형식에 의존하지 않고, 모든 데이터 타입을 갖도록 하는 방법입니다. 클래스에서 미리 타입을 지정하지 않고 사용자에 의해 지정됩니다. 제네릭을 사용하게 되면 컴파일 타임에 강한 타입 체크가 가능하며, 외부에서 타입을 지정하여 캐스트가 불필요한 장점 등이 있습니다. 성능 향상을 위해 기본타입은 OptionalInt, OptionalDouble과 같은 래퍼 클래스들을 사용하는 것이 좋습니..

반응형