반응형

IT/Java 13

Effective Java: 생성자에 많은 매개변수가 필요할 때: 빌더 패턴 고려하기

프로그래밍을 하다 보면, 때때로 매개변수가 많은 객체를 생성해야 하는 상황에 직면합니다. 이럴 때 전통적인 생성자나 정적 팩터리 방법을 사용하면, 코드의 복잡성과 유지 보수의 어려움이 가중됩니다. 특히 매개변수 중 일부가 선택적일 경우, 이 문제는 더욱 심각해집니다. 이러한 문제를 해결하는 방법인 '빌더 패턴(Builder Pattern)'에 대해 소개하려고 합니다. 점층적 생성자 패턴의 한계 점층적 생성자 패턴은 매개변수의 수에 따라 여러 생성자를 오버로딩하는 방식입니다. 예를 들어, 직원의 정보를 관리하는 Employee 클래스가 있다고 가정해 봅시다. 이 클래스에는 이름, 나이, 이메일, 주소 등 다양한 필드가 있을 수 있습니다. 필수 정보는 이름과 나이이고, 나머지는 선택적입니다. 점층적 생성자 ..

IT/Java 2024.01.24

Spring에서 CORS 설정하기

웹 개발의 세계에서 CORS(Cross-Origin Resource Sharing)는 필수적인 개념이다. 다양한 출처에서 오는 요청을 처리해야 하는 현대 웹 애플리케이션에서 CORS 설정은 보안과 자원 공유의 균형을 맞추는 데 중요한 역할을 한다. 이 글에서는 Spring Framework에서 CORS를 설정하는 세 가지 방법을 소개한다. 1. @CrossOrigin 어노테이션 사용 가장 간단하고 직관적인 방법은 @CrossOrigin 어노테이션을 사용하는 것이다. 이 어노테이션을 컨트롤러 클래스나 메소드에 적용할 수 있다. 예를 들어, 특정 출처에서 오는 요청만을 허용하고 싶다면 다음과 같이 설정한다. @RestController @RequestMapping("/api") public class MyC..

IT/Java 2024.01.23

Effective java: 생성자 대신 정적 팩터리 메서드 요약

많은 개발자들이 객체를 생성할 때 주로 생성자를 사용한다. 하지만 정적 팩터리 메서드라는 또 다른 훌륭한 방법이 존재한다. 먼저, 전통적인 생성자 방식을 살펴보자. '음료' 클래스를 예로 들어보겠다. public class Beverage { private String type; private boolean isCold; public Beverage(String type, boolean isCold) { this.type = type; this.isCold = isCold; } // ... 기타 메서드 } 여기서 `Beverage` 클래스는 하나의 생성자를 가지고 있다. 사용자는 이 생성자를 통해 '음료' 객체를 생성할 수 있다. 예를 들어, 뜨거운 커피를 만들고 싶다면 다음과 같이 사용할 수 있다. B..

IT/Java 2024.01.23
반응형