본문 바로가기

야미스터디/Java21

[Java] 익명 클래스 vs 람다식 익명 클래스 Inner class, 이름이 없는 클래스를 말한다 클래스 정의와 동시에 객체를 생성할 수 있다 Java의 Interface와 Class 모두 익명 함수로 객체를 만들 수 있다 익명 함수를 사용하는 이유 프로그램 내에서 한 번만 객체로 만드는 데 사용되는 클래스의 경우 클래스를 정의하고 생성하는 것이 비효율적이기 때문이다 익명 함수로 클래스 정의와 구현을 동시에 하여 코드 길이를 줄일 수 있다 Runnanle이나 Event Listener 객체를 생성하는데 주로 사용된다 1) 익명 함수로 Interface 구현 및 객체 생성하기 Java의 Interface나 Abstract 클래스는 익명 함수로 구현과 동시에 객체를 생성할 수 있다 다음과 같은 방식으로 익명 클래스의 객체를 생성할 수 있다 .. 2022. 12. 11.
[Java] Java 8 - 함수형 인터페이스(Functional Interface) 💎 함수형 인터페이스 (Funtaional Interface) public interface FunctionalInterface { public abstract void doSomething(String text); } 함수형 인터페이스는 1개의 추상 메소드를 갖고 있는 인터페이스를 말한다 Single Abstract Method(SAM) 이라고 불리기도 한다 1) 함수형 인터페이스를 사용하는 이유 함수형 인터페이스를 사용하는 이유는 자바의 람다식은 함수형 인터페이스로만 접근이 되기 때문이다 예시를 통해 살펴보자! public interface FuntionalInterface { public abstract void doSomething(String text); } FunctionalInterface .. 2022. 12. 11.
[Java - Stream] 04. mapping [Reference] http://www.yes24.com/Product/Goods/17252419 자바 8 인 액션 - YES24 자바 8의 새로운 기능은 자바 1.0이 나온 이후 18년을 통틀어 가장 큰 변화다. 기존의 자바 코드 모두 그대로 사용하면서도 새로운 기능과 새로운 문법과 새로운 디자인 패턴으로 더 명확하고, 간 www.yes24.com Intro 수많은 데이터(Data) 중에 특정 조건에 해당되는 정보(Information)를 선별하는 작업은 데이터 처리 방식에서도 자주 수행되는 연산 중 하나이다. 데이터 소스에서 특정 조건의 데이터 리스트를 추출해야 하는 경우 또는 필드를 가공해야 하는 경우가 필요할 수 있다. 예를 들어, 사용자의 요청을 받아서 처리하는 부분에서는 유효성 검사를 통해 .. 2022. 12. 9.
[Java - Stream] 03. filtering Intro 데이터를 처리하기 위해 조건문이 있다면, 스트림에서는 동일한 기능으로 필터링을 제공한다. 필터링 스트림의 요소를 선택하는 방법으로 Predicate 필터링, 고유 요소 필터링, 스트림의 일부 요소를 무시하거나 스트림을 주어진 크기로 축소하는 방법 등이 있다. 1) Predicate로 필터링 스트림 인터페이스는 filter 메서드를 지원하고, Predicate(boolean을 반환하는 함수)를 인수로 받아서 일치하는 모든 요소를 포함하는 스트림을 반환한다. Predicate는 자바 8에 나온 함수형 인터페이스로 boolean 반환 타입의 test 메서드가 존재한다. public class ChickenFilter { private final List chickens; public ChickenF.. 2022. 12. 7.
[Java - Stream] 02. 컬렉션과 Stream의 구현방식의 차이 [Reference] https://tecoble.techcourse.co.kr/post/2021-05-23-stream-api-basic/ StreamAPI 나도 한 번 써보자! Java 의 Stream API 사용 방법을 알아보자. 우아한테크코스 프리코스 과정에서 Stream API 를 사용해서 코드를 맛깔나게 구현하는 분들을 보면 괜스레 해야 할 것 같고, 유용해 보여서 흥미가 생긴다. tecoble.techcourse.co.kr https://tecoble.techcourse.co.kr/post/2020-05-14-foreach-vs-forloop/ Stream의 foreach 와 for-loop 는 다르다. Stream에 대한 기본적인 학습을 위해 찾아왔다면, 공식 오라클 문서를 참고하면 좋을 .. 2022. 12. 7.
[Java - Stream] 01. 스트림을 학습해야 하는 이유 [Reference] http://www.yes24.com/Product/Goods/77125987 모던 자바 인 액션 - YES24 자바 1.0이 나온 이후 18년을 통틀어 가장 큰 변화가 자바 8 이후 이어지고 있다. 자바 8 이후 모던 자바를 이용하면 기존의 자바 코드 모두 그대로 쓸 수 있으며, 새로운 기능과 문법, 디자인 패턴 www.yes24.com 0️⃣ Intro 대부분은 자바 애플리케이션을 작성할 때, 데이터를 처리하기 위한 방식으로 컬렉션을 만들고 이를 활용한다. 컬렉션은 데이터를 보관하기 위한 자료구조일 뿐이고, 이를 활용하기 위해서는 개발자가 반복문과 조건문을 통해 원하는 로직을 구현해야 한다. 스트림 API는 컬렉션을 사용하는 방식과는 다른 방식으로 데이터를 처리할 수 있다. 1️.. 2022. 12. 7.