java

    자바 빌더 패턴 ( Builder Pattern )

    롬복을 사용하면서 @Builder 어노테이션을 접하게 되었습니다. 빌더 패턴이 정확히 어떤 역할을 하는지 정리하고자 합니다. public class Student { // 필수 인자 private String name; private int age; // 선택 인자 private String grade; // 생성자 public Student(String name, int age, String grade) { this.name = name; this.age = age; this.grade = grade } } 먼저 일반적으로 볼 수 있는 생성자 패턴 방식입니다. Student 클래스에 필수 인자는 "name" "age" 이고 선택적 인자는 "grade"로 가정하겠습니다. 위 클래스를 인스턴스로 생성하려면..

    스프링 부트 Inversion of Control ( IOC )

    Inversion of Control ( IOC ) 란 무엇인가? 직역한다면 "제어의 역전" 입니다. public class Hello() { private HelloResponseDto dto = new HelloResponseDto(); ... } 위 코드는 자바에서 쉽게 볼 수 있는 코드입니다. Hello 클래스에서 HelloResponseDto 객체를 사용하기 위해 Hello 클래스 내부에서 new 키워드로 "직접" 객체를 생성하고 있습니다. 아래 코드를 한번 볼까요? public class Hello() { private HelloResponseDto; hello(helloResponseDto dto) { self.HelloResponseDto = dto; } ... } Hello 클래스 생성자..