Java 204

157. 람다식에서 리턴값 처리하기 – 반환형 함수형 인터페이스

람다식은 단순히 실행만 하는 것이 아니라, 계산 결과를 반환할 수도 있습니다.이럴 경우 함수형 인터페이스는 void가 아닌 반환 타입을 명시한 추상 메서드를 포함해야 합니다.이번 예제에서는 두 수를 계산하고 결과를 반환하는 구조의 람다식을 실습합니다.📦 Calcuable.javapackage ch16.sec04;public interface Calcuable { double calc(double x, double y);}📦 Person.javapackage ch16.sec04;public class Person { public void action(Calcuable calcuable) { double result = calcuable.calc(10, 4); System.out.println("결과..

Java/자바 정리 2025.05.22

156. 람다식으로 매개변수 전달받기 – 다양한 함수형 인터페이스 실습

람다식은 단순히 코드 블록을 전달하는 것에서 더 나아가,매개변수를 받아 가공하거나 출력하는 동작도 간결하게 표현할 수 있습니다.이번 예제에서는 두 개의 함수형 인터페이스 Workable, Speakable을 사용하여다양한 매개변수를 받는 람다식 작성 방법을 실습해 봅니다.📦 Workable.javapackage ch16.sec03;public interface Workable { void work(String name, String job);}📦 Speakable.javapackage ch16.sec03;public interface Speakable { void speak(String content);}📦 Person.javapackage ch16.sec03;public class Person {..

Java/자바 정리 2025.05.22

155. 람다식으로 이벤트 처리하기 – 버튼 클릭 리스너 구현

GUI나 이벤트 기반 프로그래밍에서는 특정 동작(예: 버튼 클릭)에 따라콜백 함수를 실행하는 구조가 자주 사용됩니다.이번 예제에서는 버튼에 클릭 리스너를 등록하고,람다식을 통해 클릭 시 실행될 동작을 간결하게 구현하는 방법을 알아봅니다.📦 Button.javapackage ch16.sec02;public class Button { public static interface ClickListener { void onClick(); } private ClickListener clickListener; public void setClickListener(ClickListener clickListener) { this.clickListener = clickListener; } public void c..

Java/자바 정리 2025.05.22

자바 연습문제 - HashSet과 equals/hashCode 오버라이딩을 활용한 중복 방지

📖 문제HashSet에 Student 객체를 저장하려고 합니다.학번이 같으면 동일한 Student라고 가정하고, 중복 저장이 되지 않도록 하고 싶습니다.Student 객체의 해시코드는 학번이라고 가정하고, Student 클래스를 작성해보세요.📦 예제 클래스HashSetExample.javaimport java.util.HashSet;import java.util.Set;public class HashSetExample { public static void main(String[] args) { Set set = new HashSet(); set.add(new Student(1, "홍길동")); set.add(new Student(2, "신용권")); set.add(new Student(1,..

Java/연습문제 2025.05.22

154. 매개변수로 람다식 전달하기 – 단일 추상 메서드 구조

람다식은 함수형 인터페이스의 구현을 익명으로 간단하게 표현할 수 있을 뿐만 아니라,메서드의 매개값으로 직접 전달할 수도 있습니다.이번 예제에서는 Workable 인터페이스를 통해,Parson 클래스의 action() 메서드에 출근과 퇴근 작업을 람다로 전달해 실행하는 구조를 살펴보겠습니다.📦 Workable.javapackage ch16.sec02;public interface Workable { void work();}📦 Parson.javapackage ch16.sec02;public class Parson { public void action(Workable workable) { workable.work(); }}📌 예제 코드package ch16.sec02;public class Lambd..

Java/자바 정리 2025.05.22

153. 람다식 기초 사용법 – 함수형 인터페이스와 람다 전달

자바 8부터 도입된 람다식(Lambda Expression)은 코드를 간결하게 작성할 수 있도록 도와주는 문법입니다.특히 함수형 인터페이스를 매개변수로 받아 작업을 전달할 때 유용하게 쓰입니다.이번 예제에서는 두 개의 람다식을 Calculable 인터페이스를 통해 전달하고,각기 다른 계산 방식(덧셈, 뺄셈)을 구현해보겠습니다.📦 Calculable.javapackage ch16.sec01;public interface Calculable { void calculate(int x, int y);}📌 예제 코드package ch16.sec01;public class LambdaExample { public static void main(String[] args) { // 람다식 1: 덧셈 action..

Java/자바 정리 2025.05.22

자바 연습문제 - List 컬렉션을 이용한 게시글 데이터 반환 구현

📖 문제BoardDao 객체의 getBoardList() 메소드를 호출하면 List 타입의 컬렉션을 리턴합니다. ListExample 클래스의 실행 결과를 참고하여 BoardDao 클래스와 getBoardList() 메소드를 작성해보세요.📦 예제 클래스Board.javapublic class Board { private String title, content; public Board(String title, String content) { this.title = title; this.content = content; } public String getTitle() { return title; } public String getContent() { return content; }}ListExa..

Java/연습문제 2025.05.22

[Java 컬렉션 핵심 요약] 필수 클래스 개념 + 한 줄 정리로 끝내기

✅ 컬렉션이란?자바에서 데이터를 효율적으로 저장하고 처리하기 위한 자료 구조의 집합.List, Set, Map 같은 인터페이스와 이를 구현한 다양한 클래스들이 포함됩니다.✅ Java 컬렉션 주요 클래스 요약이름설명주요 특징동기화순서 유지중복 허용ArrayList동적 배열빠른 검색, 느린 삽입/삭제❌✅ (인덱스 순)✅Vector동기화된 ArrayListArrayList + Thread-safe✅✅✅LinkedList양방향 연결 리스트삽입/삭제 빠름, 검색 느림❌✅✅HashSet중복 없는 집합순서 없음, 빠른 검색❌❌❌HashMap키-값 쌍 저장null 키 1개 허용❌❌키 중복 ❌Hashtable동기화된 HashMapnull 허용 ❌✅❌키 중복 ❌TreeSet정렬된 집합오름차순 정렬 자동 처리❌✅ (정렬 기..

Java/자바 정리 2025.05.21

152. 불변 컬렉션 생성하기 – List.of(), copyOf(), Set.of() 등 활용

자바 9부터는 컬렉션을 간단하게 불변(immutable) 형태로 생성할 수 있는 편리한 메서드들이 제공됩니다.불변 컬렉션은 한 번 만들어지면 데이터를 변경할 수 없는 컬렉션으로,데이터의 무결성을 보장하거나 수정이 불필요한 데이터를 안전하게 공유할 때 매우 유용합니다.이번 예제에서는 다양한 방법으로 불변 컬렉션을 생성하는 방법을 정리해 보겠습니다.📌 예제 코드import java.util.*;public class ImmutableExample { public static void main(String[] args) { // 요소를 직접 지정하여 불변 컬렉션 생성 List immutableList1 = List.of("A", "B", "C"); Set immutableSet1 = Set.of("A"..

Java/자바 정리 2025.05.21

151. HashMap을 동기화하기 – Collections.synchronizedMap()

HashMap은 기본적으로 멀티스레드 환경에서 안전하지 않은 컬렉션입니다.여러 스레드가 동시에 데이터를 수정하거나 조회하면 예기치 않은 동작이나 데이터 손실이 발생할 수 있습니다.이를 방지하기 위해 자바에서는 Collections.synchronizedMap()을 통해Map을 동기화된 상태로 래핑(wrapping)하여 사용할 수 있도록 지원합니다.📌 예제 코드import java.util.Collections;import java.util.HashMap;import java.util.Map;public class SynchronizedMapExample { public static void main(String[] args) { Map map = Collections.synchronizedMap(ne..

Java/자바 정리 2025.05.21
반응형