서버&백엔드/🔥 JAVA

서버&백엔드/🔥 JAVA

JAVA | TDD예제를 통한 어댑터 패턴 설명

package com.example.productorderservice.product;import org.junit.jupiter.api.BeforeEach;import org.junit.jupiter.api.Test;import org.springframework.util.Assert;import java.util.HashMap;import java.util.Map;class ProductServiceTest { private ProductService productService; private ProductPort productPort; private ProductRepository productRepository; @BeforeEach void setUp() { ..

서버&백엔드/🔥 JAVA

JAVA | POJO로 개발한다는 무슨말일까?

POJO"POJO로 개발한다"는 Plain Old Java Object를 기반으로 애플리케이션을 개발한다는 의미입니다.POJO란?POJO는 Plain Old Java Object의 약자로, 특별한 규칙이나 프레임워크에 의존하지 않는 순수한 자바 객체를 의미합니다.프레임워크나 라이브러리의 종속성 없이 필요한 비즈니스 로직과 데이터만을 담는 객체입니다.POJO의 특징순수한 자바 객체extends나 implements 등 특정 라이브러리, 프레임워크의 클래스나 인터페이스를 상속/구현하지 않아도 됩니다.예를 들어, EJB (Enterprise Java Beans)와 같은 과거 복잡한 프레임워크 없이 간단한 클래스를 사용합니다.비즈니스 로직 중심객체의 역할은 데이터를 담고, 처리하는 로직을 구현하는 데 집중됩니다..

서버&백엔드/🔥 JAVA

JAVA | Record란 무엇일까

RecordJava를 8과 11 버전만 사용하다 보니 그 이후 버전에서 추가된 기능들이 익숙하지 않아서 정리해 보았습니다. 이번 글에서는 Java 14에서 처음 도입된 Record에 대해 알아보려고 합니다. Record는 불변(immutable) 데이터를 간편하게 표현할 수 있는 기능인데요, 그 목적과 특징, 그리고 몇 가지 제약 사항까지 함께 살펴보겠습니다.레코드(Record)의 등장 배경Java 14 이전에는 데이터를 저장하고 전달하기 위해 클래스를 만들 때 반드시 boilerplate 코드를 작성해야 했습니다. 예를 들어, equals, hashCode, toString 메서드를 일일이 오버라이드하고 생성자를 작성해야 하는 번거로움이 있었죠.이러한 반복적인 작업은 실수를 유발하기 쉽고, 클래스의 본..

서버&백엔드/🔥 JAVA

Inner클래스는 언제 쓸까?

Inner클래스오늘은 공부할때만 보고 실제로 언제 사용하는지는 잘 몰랐던 Inner클래스에대해 알아보겠습니다. Inner클래스란?먼저, Inner클래스(내부클래스)란어떤 클래스 내부에 정의된 또다른 클래스를 의미합니다. 즉, 한 클래스가 다른 클래스의 멤버처럼 존재하는 구조입니다. 주로 캡슐화를 강화하거나 외부 클래스와의 논리적 관계를 나타낼 때 사용됩니다. Inner클래스는 크게 4가지로 나뉘어집니다.1. 인스턴스 Inner 클래스 (Non-static Inner Class)2. 정적 Inner 클래스 (Static Nested Class)3. 지역 클래스 (Local Class)4. 익명 클래스 (Anonymous Class) 테스트 코드에서 Inner 클래스를 사용할지 여부는 상황에 따라 다릅니다...

서버&백엔드/🔥 JAVA

JAVA | 이진트리 구현

이진트리 구현Java Collection Framework에는 왜 이진 트리가 없을까?균형 문제이진 트리를 사용할 때 균형을 유지하지 않으면 최악의 경우 연결 리스트처럼 동작하여 성능이 크게 저하될 수 있습니다.Java Collection Framework는 균형 이진 트리 기반 자료구조를 제공하는 것으로 이러한 문제를 해결했습니다.Red-Black Tree 사용Java의 TreeMap과 TreeSet은 모두 Red-Black Tree를 기반으로 하여 균형을 유지하면서 효율적인 탐색, 삽입, 삭제를 보장합니다.그래서 별도의 "이진 트리" 클래스가 필요하지 않습니다.직접 구현이 필요한 경우순수 이진 트리를 원한다면 직접 구현해야 합니다.위에서 제공한 Node와 BinaryTree 구현이 순수한 형태의 이진..

서버&백엔드/🔥 JAVA

Stream | String문자열 내부 정렬

1.문자열 내부 정렬public class Main { public static void main(String[] args) { String aaa = "CAB"; // Stream을 사용하여 문자열 정렬 String sorted = aaa.chars() // 문자열을 IntStream으로 변환 .sorted() // 정렬 .mapToObj(c -> String.valueOf((char) c)) // 정렬된 정수를 문자로 변환 .collect(Collectors.joining()); // 문자들을 합쳐 새로운 문자열 생성 System.out.println("정렬된 문자열..

이재원
'서버&백엔드/🔥 JAVA' 카테고리의 글 목록 (3 Page)