객체지향 2

@Builder란?

Lombok 라이브러리의 @Builder 어노테이션은 정말 많이 사용하는 어노테이션이다. 항상 생성자 자체를 사용하기 보단 @Builder을 사용해서 생성자를 만들곤 했다. 하지만 사용하면서도 Builder의 패턴이나 사용이유에 대해 깊게 생각하지 못하고 넘어갔던 것 같아 정리하고자 한다. 이번 기회에 공식문서 읽는 습관도 들여야겠다. 🌱 @Builder와 일반 객체 생성의 차이점 Telescoping Constructor Pattern (점층적 생성자 패턴)Java Beans Pattern (자바 빈 패턴)정리 | 기존 생성자 패턴 ↔ 빌더 패턴1️⃣ 생성자는 파라미터가 많을 경우 가독성이 좋지 않다.2️⃣ 불필요한 매개변수의 값까지 지정해줘야 한다.3️⃣ 매개변수의 순서가 바뀌면 에러가 난다.@Bui..

객체지향 프로그래밍이란?

객체지향이란?컴퓨터 프로그래밍 패러다임 중 하나로, 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고, 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법장점코드 재사용 용이유지보수가 쉬움대형 프로젝트에 적합단점처리 속도가 상대적으로 느림객체가 많으면 용량이 커질 수 있음설계시 많은 시간과 노력이 필요객체지향 프로그래밍과 관련된 5가지클래스 + 인스턴스(객체)클래스어떤 문제를 해결하기 위한 데이터를 만들기 위해 추상화를 거쳐 집단에 속하는 속성(attribute)와 행위(behavior)를 변수와 메서드로 정의한 것== 객체를 만들기 위한 메타정보 인스턴스(객체)클래스에서 정의한 것을 토대로 실제 메모리에 할당된 것으로 실제 프로그램에서 사용되는 데이터 추상..