전체 글 82

Comparable, Comparator

등장 배경primitive type은 Java에서 변수를 비교할 수 있는 기능을 제공해 주지만 새로운 클래스 객체를 만들어 비교하고자 할 때 객체는 사용자가 기준을 정해주지 않는 이상 어떤 객체가 더 높은 우선순위를 갖는지 판단 할 수가 없습니다. 이를 해결하기 위한 인터페이스가 Comparable과 Comparator입니다.//primitive type 비교public static void main(String[] args) { int a = 1; int b = 2; if(a > b) { System.out.println("a가 b보다 큽니다."); } else if(a == b) { System.out.println("a와 b는 같습니다."); } else { System.out.print..

Optional 개념 및 사용법

Optional 개념실제로 개발을 하면서 많이 발생하는 예외 중 하나는 NPE(NullPointerException)입니다. NPE를 예외 처리 하기 위해서는 null 여부를 확인해야 하는 처리가 많이 들어가게 되는데 그러한 경우에는 코드가 복잡하거나 지저분해 질 수 있습니다. 그래서 Java 8에서는 Optional 클래스를 사용해 NPE를 방지할 수 있도록 도와줍니다. Optional 클래스는 Integer나 Double 클래스처럼 'T' 타입의 객체를 포장해 주는 래퍼 클래스(Wrapper class)입니다. Optional 객체를 사용하면 예상치 못한 NullPointerException 예외를 제공되는 메소드로 간단히 회피할 수 있습니다.즉, 복잡한 조건문 없이도 null 값으로 인해 발생하는 ..