LombokJava 라이브러리로 반복되는 getter, toString, 생성자 등의 반복적으로 만드는 코드를 자동으로 작성해주는 코드 다이어트 라이브러리입니다.lombok 은 컴파일 단계에서만 사용됩니다. 따라서 build.gradle 에서 compileOnly 로 설정합니다.컴파일 단계가 끝나면 lombok의 각 어노테이션에 해당하는 메서드가 자동 생성되고, 어노테이션은 제거됩니다.compileOnly "org.projectlombok:lombok:${lombokVersion}" 어노테이션컴파일 전 DTO 입니다.각 어노테이션이 컴파일 후 어떻게 코드를 자동 생성하는지 확인했습니다.@Builder@Getter@Setter@NoArgsConstructor@AllArgsConstructor@ToStrin..
Java
Optional Optional 은 Java8 부터 도입된 기능이고, NullPointerException 을 방지하도록 도와줍니다. String 변수가 null 인 상황, DB에서 데이터를 조회를 했지만 결과값이 없는 상황에서 원하는 다음 처리(메서드)를 실행할 경우 NPE를 경험할 수 있습니다. package java.util; public final class Optional { private final T value; private Optional(T value) { this.value = value; } public boolean isPresent() { return value != null; } public boolean isEmpty() { return value == null; } ... ..
1. 최종 처리 스트림은 중간 처리, 최종 처리 과정을 거친 후에 결과값을 반환합니다. 최종 처리는 중간 처리에서 정제된 요소들을 반복하거나, 집계(카운팅, 총합, 평균) 작업을 수행합니다. 주의할 점은 최종 처리를 꼭 해줘야 한다는 것입니다. 최종 처리를 하지 않으면 중간처리도 동작하지 않습니다. 2. 최종 처리 종류 2.1 매칭 매칭은 요소들이 특정 조건을 만족하는지 여부를 조사하는 최종 처리 기능입니다. 메서드는 allMatch, anyMatch, noneMatch 가 있습니다. 매개값으로 주어진 Predicate 가 리턴하는 값에 따라 boolean 값을 리턴합니다. 예시 String[] movieArray = {"바비", "오펜하이머", "콘크리트 유토피아", "밀수"}; boolean resu..
1. Java Stream Java 8부터 컬렉션 및 배열의 요소를 반복처리하기 위해 추가된 기능 2. Stream 특징 내부 반복자이므로 처리 속도가 빠르고 병렬 처리에 효율적이다. 람다식으로 다양한 요소 처리를 정의할 수 있다. 중간 처리와 최종 처리를 수행하도록 파이프 라인을 형성할 수 있다. 3. 중간 처리, 최종 처리 스트림은 중간 처리, 최종 처리 과정을 거친 후에 결과값을 반환합니다. 중간 처리는 요소를 걸러내거나(필터링), 요소를 변환시키거나(매핑), 정렬하는 자업을 수행합니다. 최종 처리는 중간 처리에서 정제된 요소들을 반복하거나, 집계(카운팅, 총합, 평균) 작업을 수행합니다. 주의할 점은 최종 처리를 꼭 해줘야 한다는 것입니다. 최종 처리를 하지 않으면 중간처리도 동작하지 않습니다. ..