프로젝트를 진행하다가 @Data의 위험성을 느껴 공부한 내용을 정리하고자 합니다. @Data 어노테이션이란❓@Data는 Lombok 라이브러리에서 제공하는 어노테이션으로, Java 클래스에 대해 다양한 메서드를 자동으로 생성해 주는 기능을 제공합니다. @Data 어노테이션을 사용하면, 다음과 같은 메서드들이 자동으로 생성됩니다.1. Getter 메서드클래스의 모든 필드에 대해 get 접두사가 붙은 메서드를 생성합니다.예를 들어, private String name;이라는 필드가 있으면, getName() 메서드가 생성됩니다.2. Setter 메서드클래스의 모든 필드에 대해 set 접두사가 붙은 메서드를 생성합니다.예를 들어, private String name;이라는 필드가 있으면, setName(Str..
@Builder
객체를 객체를 생성하는 방법은 여러 가지가 있습니다. 각 방식은 특정 상황에서 유리하게 작용하며, 코드의 가독성, 유지보수성, 불변성 등에 영향을 미칩니다. 이번 포스팅에서는 자바에서 객체를 생성하는 주요 방식인 생성자, @Setter, 그리고 @Builder 패턴에 대해 알아보고, @Builder 어노테이션을 사용해야 하는 이유에 대해서 알아보고자 합니다. 생성자(Constructor) public class Person { private String name; private int age; private String email; // Constructor public Person(String name, int age, String email) { this.na..