본문 바로가기

Java24

람다(Lambda) 람다익명 클래스를 더 간결하게 표현하는 문법// 람다 표현식Calculator calculator1 = (a, b) -> a + b;// 익명클래스Calculator calculator1 = new Calculator() { @Override public int sum(int a, int b) { return a + b; }}; 사용법@FunctionalInterface // ✅ 함수형 인터페이스 선언public interface Calculator { int sum(int a, int b); // ✅ 오직 하나의 추상 메서드만 선언해야합니다.}public class Main { public static void main(String[] args) { ... .. 2026. 5. 21.
제네릭(Generic) 제네릭(Generic)타입을 미리 지정하지 않고 사용 시점에 유연하게 결정할 수 있는 문법코드 재사용성과 타입 안정성 보장과도하게 사용하면 코드가 복잡해짐 제네릭이 없는 경우함수 재사용 불가능public class Box { private Integer item; // ⚠️ Integer 타입으로 고정 public Box(Integer item) { // ⚠️ Integer 타입으로 고정 this.item = item; } public Integer getItem() { return this.item; }}public class Main { public static void main(String[] args) { // ✅ Intege.. 2026. 5. 20.
Collection Collection다양한 자료구조들을 쉽게 사용할 수 있도록 인터페이스와 구현체를 제공하는 집합 ArrayList (+LinkedList) 순서를 유지하고 중복된 값을 저장 가능요소 추가 : add("값")요소 조회 : get(인덱스)요소 제거 : remoce("값") HashSet (+TreeSet) 순서를 유지하지 않고 중복을 허용하지 않음요소 추가 : add("값")요소 제거 : remove("값") HashMap (+TreeMap)키(key) - 값(value) 구조로 데이터를 저장요소 추가 : put("키",값)요소 조회 : get("키")요소 제거 : remove("키")키 확인 : ketSet()값 확인 :values() 참고1 : https://record47584.tistory.com/.. 2026. 5. 20.
Optional Optionalnull을 안전하게 다루게 해주는 객체객체의 값이 있을 수도 없을 수도 있는 컨테이너 Optional 사용 전 :public class Main { public static void main(String[] args) { Camp camp = new Camp(); Student student = camp.getStudent(); String studentName; if (student != null) { // ⚠️ 가능은하지만 현실적으로 어려움 studentName = student.getName(); } else { studentName = "등록된 학생 없음"; // 기본값 제공 .. 2026. 5. 20.
예외(Exception)와 예외 처리(try-catch) 예외(Exception)프로그램 실행 중 예상하지 못한 상황이 발생하는 것 ( 0으로 나누기 등)의도하지 않은 예외 : 0으로 나누기 등 -> 예외처리 하지 않으면 이후 코드가 실행되지 않음의도적인 예외 : 아래 코드와 같이 특정 조건에서 의도적으로 예외를 발생 시킴.(throw 키워드를 통해)public class Main { public static void main(String[] args) { int age = 10; if (age RuntimeException - CheckedException컴파일러가 예외처리를 강제하지 않는 예외 Exception - CheckedException컴파일러가 예외처리를 강제하는 예외예외처리를 컴파일러가 확인하지 않음Runtime.. 2026. 5. 20.
record record란?데이터 저장 목적 객체를 간단하게 만들기 위한 Java 문법(자바 16부터 정식 지원) record가 자동 생성하는 것생성자gettrt 비슷한 메서드 (기존 getter와 이름이 다르다. getId()가 아닌 id(). 즉, 필드명이 메서드 이름)toString()equals()hashCode() 특징 가장 큰 특징은 불편(immutable). 그렇기 때문에 생성 후 변경 위험이 적으면 좋은 DTO에 많이 쓰인다. record의 장점코드 짧아짐가독성 증가 (DTO 의도 표현 명확)불변 객체 (안정성 증가) 예시public class ProductResponse { private final Long id; private final String name; private fin.. 2026. 5. 15.