분류 전체보기118 private 생성자나 열거타입으로 싱글턴임을 보증하라 Effective 자바에서 해당 아이템은 싱글턴 디자인 패턴을 구현하는 방법에 관한 것 입니다. 아래에서 싱글턴 패턴을 구현하는 방법을 알아보겠습니다. public static final 필드 방식의 싱글턴 이 방법은 싱글턴 인스턴스를 public static final 필드로 직접 제공합니다. 하지만 이 방법은 대체로 사용하지 않는게 좋습니다. 장점 클래스가 싱글턴임이 API에 명백히 드러남 public static final 필드이니 절대로 다른 객체를 참조할 수 없음 구현이 간함(간결함) 단점 유연성이 떨어짐 싱글턴 인스턴스가 인터페이스를 구현해야 하거나, 인스턴스를 런타임으로 바꿔야 하는 경우에 적합하지 않음 public class Singleton { public static final Sing.. 2024. 1. 3. 의존성 리스트 확인하기 프로젝트 폴더로 이동한 뒤 ./gradlew dependencies --configuration compileClasspath 만약 프로젝트가 include 되어 있다면 ( gradle multi project 형태 ) ./gradlew :common:dependencies --configuration compileClasspath 아래와 같이 의존 트리를 확인할 수 있습니다. +--- org.projectlombok:lombok -> 1.18.28 +--- org.springframework.boot:spring-boot-starter-data-jpa -> 2.7.13 | +--- org.springframework.boot:spring-boot-starter-aop:2.7.13 | | +--- org.. 2024. 1. 2. 내부 클래스 ( inner class ) 란? 내부 클래스는 클래스 내에 선언된 클래스이다. 클래스에 다른 클래스를 선언하는 이유는 간단하다. 두 클래스가 서로 긴밀한 관계에 있기 때문이다. 한 클래스를 다른 클래스의 내부 클래스로 선언하면 두 클래스의 멤버들 간에 서로 쉽게 접근할 수 있다는 장점과 외부에는 불필요한 클래스를 감춤으로써 코드의 복잡성을 줄일 수 있다. 내부 클래스의 종류와 특징 인스턴스 클래스(instance class) : 외부 클래스의 멤버변수 선언 위치에 선언하며, 외부 클래스의 인스턴스 멤버처럼 다루어진다.주로 외부 클래스의 인스턴스 멤버들과 관련된 작업에 사용될 목적으로 사용된다. 정적 내부 클래스(static class) : 외부 클래스의 멤버변수 선언 위치에 선언하며, 외부 클래스의 static 멤버 처럼 다루어진다. .. 2024. 1. 2. 생성자에 매개변수가 많다면 빌더를 고려하라 정적 팩터리와 생성자에는 똑같은 제약이 하나 있습니다. 선택적 매개변수가 많을 때 적절히 대응하기가 어렵다는 점입니다. 빌더패턴을 설명하기 이전에 점층적 생성자 패턴(telescoping constructor pattern)에 대해 알아 보겠습니다. 점층적 생성자 패턴은 객체 생성 시 다양한 매개변수 조합을 처리하기 위해 여러 생성자를 제공하는 방식입니다. 이 패턴은 매개변수가 적을 때는 잘 작동하지만, 매개변수의 수가 많아지면 코드의 가독성과 관리가 어려워질 수 있습니다. 이펙티브 자바에서 예시로 이는 점층적 생성자 패턴 예시를 알아볼께요 점층적 생성자 패턴 - 확장하기 어렵다. ( Telescoping Constructor Pattern ) public class NutritionFacts { pri.. 2023. 12. 21. 이전 1 ··· 16 17 18 19 20 21 22 ··· 30 다음