본문 바로가기

Java7

[Java] Java switch의 문자열 비교, 내부 원리와 성능 분석 목차switch에서 문자열을 비교하는 방법switch의 내부 동작 원리switch vs if-elseswitch 사용 시 주의사항Java 7부터는 switch문에서 문자열(String)을 비교할 수 있습니다. 기존의 if-else에서 equals()를 사용하는 방식보다 더욱 깔끔하게 문자열을 비교할 수 있습니다.이번 글에서는 switch에서 문자열 비교 시, 내부적으로 어떻게 동작하는지 자세히 알아보겠습니다.switch에서 문자열을 비교하는 방법Java 7 이후에는 정수나 열거형 뿐 아니라 문자열도 switch문의 조건으로 사용할 수 있습니다. 이는 switch의 값과 case의 문자열을 String.equals 를 사용한 것처럼 비교하기 때문입니다.The switch statement compares .. 2025. 2. 13.
[Java] List.of를 사용한 초기화 목차UnsupportedOperationExceptionList.of()를 사용한 초기화컬렉션 생성자의 동작 원리정리Java 9부터 도입된 List.of()는 불변 리스트(Immutable List)를 생성하는 편리한 메서드입니다. 하지만 이 불변 리스트에 직접 요소를 추가하려고 하면 UnsupportedOperationException이 발생합니다. 그런 반면 List.of()로 생성된 불변 리스트를 컬렉션의 초기값으로 전달 후 컬렉션에 요소를 추가하면 예외가 발생하지 않습니다.이번 글에서는 List.of()로 생성된 불변 리스트와, 이를 컬렉션의 생성자로 전달할 때 내부적으로 어떻게 동작하는지 살펴보겠습니다.UnsupportedOperationExceptionJava에서 List.of()는 불변 리스.. 2025. 2. 13.
[Java] 람다 표현식의 반환 타입 추론 목차예시 - Arrays.sort()와 Comparator 람다 표현식함수형 인터페이스 설계와 람다 표현식람다 표현식의 반환 타입 추론 과정Java 8부터 도입된 람다 표현식은 간결한 코드 작성과 함수형 프로그래밍 패러다임을 지원합니다. 람다 표현식을 사용할 때 가장 큰 장점 중 하나는 **타입 추론(type inference)**으로, 메서드의 매개변수나 반환 타입을 일일이 명시할 필요가 없다는 점입니다.이번 글에서는 Comparator 인터페이스 예시와 직접 함수형 인터페이스를 설계하고, 어떻게 람다 표현식이 반환 타입을 추론하는지 자세히 알아보겠습니다.예시 - Arrays.sort()와 Comparator 람다 표현식Java에서는 배열을 정렬할 때, Arrays.sort() 메서드를 사용합니다.Ar.. 2025. 2. 13.
[Java] Java에서의 Thread와 Thread Pool 1️⃣ 스레드(Thread)스레드는 프로그램 내에서 실행되는 하나의 작업 단위✅ 스레드의 특징CPU의 기본 실행 단위 (프로세스 안에서 개별적으로 실행됨)각 스레드는 독립 실행 (하나의 스레드가 멈춰도 다른 스레드는 계속 실행됨)멀티 스레드를 사용하면 프로그램이 여러 작업을 동시에 실행 가능단일 스레드 작업(Single Thread)package pl.java.thread;public class SingleThreadSample { public static void main(String[] args) { System.out.println("작업 1 시작"); try { Thread.sleep(3000); } catch (InterruptedException _) {} .. 2025. 2. 8.
[Java] Java의 Collection Framework에 대해 Collection FrameworkJava Collection Framework는 데이터를 효율적으로 관리하고 조작하기 위한 표준화된 자료구조와 알고리즘의 집합입니다. 이를 통해 개발자는 복잡한 자료구조를 직접 구현할 필요 없이 최적화된 구현체를 사용하여 애플리케이션의 생산성과 유지 보수성을 높일 수 있습니다. Collections Framework OverviewCollections Framework Overview Introduction The Java platform includes a collections framework. A collection is an object that represents a group of objects (such as the classic Vector class)... 2024. 11. 21.
[Java] Double.MIN_VALUE는 음수가 아니다. Java의 Double.MIN_VALUE는 종종 오해를 불러일으키는 상수입니다. 이름만 보면 "가장 작은 값"이라는 의미로 해석되어, 음수를 떠올리기 쉽습니다. 하지만 Double.MIN_VALUE는 음수가 아니며, 오히려 0에 가까운 양수입니다. 이를 이해하기 위해 해당 상수의 의미와 사용하는 맥락을 살펴보겠습니다. 1. Double.MIN_VALUE 란?Double.MIN_VALUE는 Java에서 double 타입이 표현할 수 있는 가장 작은 양의 값을 의미합니다. 이는 IEEE 754 표준에 따라 정의된 부동소수점 방식에서 정규화된 가장 작은 값입니다.public class DoubleExample { public static void main(String[] args) { Sys.. 2024. 11. 20.