반응형

stream 4

태태개발일지 - 김영한 java 고급 (람다) 람다 총정리

람다 총정리 람다 VS 익명클래스 람다오직 함수형 인터페이스에만 사용되며 문법이 간결하고 외곽 클래스의 this를 캡처한다. 람다는 메서드 본문 형태로만 동작하고 별도 클래스 파일을 만들지 않는 컴파일 타임 변환이 이뤄져 경량이다. 익명 클래스인터페이스/추상클래스 구현이나 확장이 가능하고 자체 this를 가진다. 필드, 보조 메서드, 초기화 블록 등을 정의할 수 있어 “작은 클래스”처럼 동작한다. this는 내부 클래스의 this를 캡처한다. 사용시기한 메서드짜리 콜백(Runnable/Callable/Comparator/Listener 등)은 람다,상태·여러 메서드·명시적 타입 확장·주석/애노테이션이 필요한 경우는 익명 클래스가 적합하다. // Comparator - 람다var list = List..

JAVA 2025.09.05

태태개발일지 - 김영한 고급 JAVA LAMBDA

강의 링크https://inf.run/EXqku 김영한의 실전 자바 - 고급 3편, 람다, 스트림, 함수형 프로그래밍| 김영한 - 인프런 강의현재 평점 5점 수강생 3236명인 강의를 만나보세요. 최신 자바에 꼭 필요한 람다, 스트림, 자바를 활용한 함수형 프로그래밍 기술을 기초부터 실무 레벨까지 깊이있게 학습합니다. 람다, 함수형www.inflearn.com JAVA OPTIONAL optionalJava의 Optional은 NullPointerException을 방지하고, 코드ㅢ 명확성을 높이기 위해 등장한 컨테이너 클래스다.그럼 언제쓰는가?Nullable한 값 처리직접 null 체크 로직을 넣는 대신 Optional을 활용해 더 명확하고 안전하게 값을 다룰 수 있다.NullPointerExcepti..

JAVA 2025.07.28

태태개발일지 - flatMap

Java Stream과 flatMap Java의 Stream API는 컬렉션을 다루는 데 있어 매우 강력하다.특히 flatMap은 2차원 이상의 자료구조를 평탄화(flatten)할 때 필수적인 메서드이다.이번 글에서는 flatMap이 왜 필요한지, 그리고 실제로 어떻게 동작하는지 예제를 통해 쉽게 설명하겠다. 2차원 리스트List> list = Arrays.asList( Arrays.asList(1, 2), Arrays.asList(2, 4)); 이 리스트에 stream 사용 Stream> stream = list.stream(); 각 요소는 리스트이다. Stream> mappedStream = list.stream().map(innerList -> innerList.stream()); 그..

JAVA 2025.07.08

태태개발일지 - 김영한 자바 고급

람다 람다식은 함수형 인터페이스(추상 메서드가 하나인 인터페이스)의 인스턴스를 간결하게 표현하는 방법이다.Java 8부터 도입된 기능으로, 코드의 길이를 줄이고 가독성을 높여줍니다. 람다는 메서드만 전달하며, 익명클래스보다 더 간단하게 함수 객체를 만들 수 있습니다. 단, 람다는 함수형 인터페이스에만 사용할 수 있고, this 키워드는 외부 클래스의 인스턴스를 참조합니다 익명클래스 익명클래스는 이름이 없는 클래스로, 주로 일회성으로 인터페이스나 추상클래스를 구현할 때 사용한다. 예를 들어, Comparator나 Runnable 같은 인터페이스를 구현할 때 별도의 클래스를 만들지 않고 코드 내에서 바로 정의할 수 있다. 익명클래스는 여러 메서드를 구현할 수 있고, 내부에 필드나 초기화 블록도 선언할 수 있..

JAVA 2025.05.20
반응형