전체 글

디자인 전공의 비전공자에서 개발자로 거듭나는 이야기를 담고자 합니다.
개발일지

Java Records: 현대적 데이터 클래스의 새로운 패러다임 📝

Java 16에서 정식으로 도입된 Record는 불변(immutable) 데이터 객체를 생성하는 혁신적인 방법을 제공합니다. 이 글에서는 Record의 핵심 개념부터 실전 활용까지 상세히 알아보겠습니다.1. Record의 기본 개념과 특징 🎯Records는 불변 데이터를 담는 투명한 데이터 캐리어를 선언하는 새로운 종류의 클래스입니다.// 전통적인 방식public class Point { private final int x; private final int y; public Point(int x, int y) { this.x = x; this.y = y; } // getters, equals(), hashCode(), toString() 구현 필요}/..

개발일지

Java Optional: 우아한 null 처리의 완벽 가이드 ✨

목차Optional이란?Optional의 생성과 기본 사용법Optional 메소드 상세 가이드실전 활용 패턴과 베스트 프랙티스성능과 주의사항실제 프로젝트 적용 사례1. Optional이란?Java 8에서 도입된 Optional는 null이 될 수 있는 값을 감싸는 래퍼 클래스입니다. NullPointerException(NPE)를 방지하고 null 체크 로직을 더 간결하고 안전하게 작성할 수 있게 해줍니다.1.1 Optional 도입 배경 🎯// 전통적인 null 체크 방식public String getUpperCaseUserName(User user) { if (user == null) { return "UNKNOWN"; } String name = user.getName..

개발일지

Java Stream API 마스터하기: 함수형 프로그래밍의 강력함 🌊

Java 8에서 도입된 Stream API는 컬렉션 데이터를 함수형 프로그래밍 방식으로 처리할 수 있게 해주는 강력한 도구입니다. 이번 글에서는 Stream API의 핵심 개념부터 실전 활용까지 상세히 알아보겠습니다.1. Stream API 기초 개념 📚Stream은 데이터의 흐름을 표현하는 객체로, 컬렉션의 요소들을 람다식을 이용해 효과적으로 처리할 수 있게 해줍니다.List names = Arrays.asList("John", "Jane", "Kim", "Park", "Lee");// 기존 방식List filteredNames = new ArrayList();for (String name : names) { if (name.length() streamFilteredNames = names.s..

개발일지

Java String Pool의 내부 동작 원리: 메모리 최적화와 문자열 관리 심층 분석 📘

Java에서 String은 가장 많이 사용되는 데이터 타입 중 하나입니다. String Pool은 Java의 문자열 관리를 최적화하는 핵심 메커니즘인데, 오늘은 이 String Pool의 내부 동작 원리와 실제 활용 방법에 대해 자세히 알아보겠습니다.1. String Pool이란? 🌟String Pool(문자열 풀)은 Java Heap 메모리 영역에 위치한 특별한 메모리 영역으로, 문자열 리터럴을 저장하고 재사용하는 용도로 사용됩니다.String str1 = "hello"; // String Pool에 저장String str2 = "hello"; // 기존 Pool의 참조 재사용String str3 = new String("hello"); // Heap 영역에 새로운 객체 생성2. String 객..

벤지_
벤지의 개발일지