Java 8 메서드 참조(::) 동작 원리와 활용
메서드 참조란
Java 8에서 도입된 :: 연산자는 메서드 참조(Method Reference)를 나타냅니다. 이는 람다 표현식을 더욱 간결하게 작성할 수 있는 문법적 편의 기능입니다. 함수형 인터페이스의 추상 메서드 구현체로 기존에 정의된 메서드를 직접 참조할 수 있게 해줍니다.
함수형 인터페이스와 람다의 관계
메서드 참조를 이해하려면 먼저 함수형 인터페이스의 개념이 필 ...
7월 21일 05:05에 게시됨
Java 8 핵심 기능 완벽 가이드
Java 8 주요 특징
Java 8(2014년 3월 Oracle 공식 릴리스)은 Java 생태계의 중대한 전환점입니다. 함수형 프로그래밍 패러다임을 도입하여 코드의 간결성과 가독성을 크게 향상시켰습니다.
Lambda 표현식
Lambda는 익명 클래스의 축약형 문법으로, 메서드를 값처럼 전달할 수 있게 합니다. 화살표 연산자 ->를 기준으로 좌측에는 매개변수, 우측에는 실행 본문을 배치 ...
7월 9일 04:51에 게시됨
Java Optional 값 안전하게 추출하는 방법
Optional 값 접근 시 주의사항
Optional<T>는 값의 존재 여부를 명시적으로 표현하는 컨테이너입니다. 값이 없는 상태에서 강제로 접근하면 다음 예외가 발생합니다:
NoSuchElementException: No value present
따라서 값 추출 시 get()을 즉시 호출하는 것은 위험합니다. 상황에 맞는 대안 메서드를 선택해야 합니다.
방식 1: 존재 확인 후 접근
Optional<Strin ...
7월 8일 16:23에 게시됨
Stream API를 활용한 리스트 그룹화 및 합계 통계 (2가지 방식)
1. String 타입 필드 기준 그룹화 후 BigDecimal 합계 구하기
1.1 원본 데이터와 요구사항
요구사항: 출발지와 도착지가 동일한 데이터는 합쳐서 하나로 표현하고, 나머지 두 수치 필드는 합산한다.
원본 데이터 예시:
1.2 Stream API를 이용한 리스트 처리
코드는 다음과 같다:
@Override
public Map<String, Object> countCarLine(String begin, String ...
6월 23일 21:08에 게시됨
JSON 데이터 처리 및 Excel 출력 연습
JSON 데이터를 읽고 분석한 후, 특정 요구 사항에 따라 학생들의 성적을 정리하고 Excel 파일로 출력하는 연습입니다.
요구 사항
JSON 데이터를 읽습니다.
다음과 같이 학생 데이터를 분류 및 요약합니다.
20세 미만의 학생 수를 계산합니다.
여학생 중 국어 점수가 가장 높은 학생의 이름을 찾습니다.
남학생들의 수학 평균 점수를 두 자리까지 반올림하여 계산합니다 ...
6월 13일 17:53에 게시됨
Java 8에서의 람다, 메서드 참조, 함수형 인터페이스 및 스트림 연산 간의 상호작용
목차
1. 람다 표현식과 인터페이스의 관계
2. 람다, 익명 내부 클래스와 this의 차이
3. 표준 함수형 인터페이스와 메서드 참조
3.1 함수형 인터페이스 정의 및 특성
3.2 메서드 참조의 사용 방식
4. 람다, 메서드 참조, 함수형 인터페이스와 스트림 연산의 통합 활용
4.1 filter, map 메서드와 Predicate, Function 인터페이스
4.2 Optional의 map 메서드와 Function ...
6월 12일 18:14에 게시됨