-
자바 빈 패턴(JavaBeans Pattern)Design Pattern 2022. 3. 19. 04:58반응형
이전 글에서 본 점층적 생성자 패턴(Telescoping Constructor Pattern) 단점을 보안한 자바 빈 패턴에 대하여 알아보겠습니다.public class User { //회원 ID(필수) private int id; //회원 이름(필수) private String userName; //회원 별명(선택) private String nickName; //회원 사물함번호(선택) private int lockerNumber; public User() { } public void setId(int id) { this.id = id; } public void setUserName(String userName) { this.userName = userName; } public void setNickName(String nickName) { this.nickName = nickName; } public void setLockerNumber(int lockerNumber) { this.lockerNumber = lockerNumber; } @Override public String toString() { return "User{" + "id=" + id + ", userName='" + userName + '\'' + ", nickName='" + nickName + '\'' + ", lockerNumber=" + lockerNumber + '}'; } }
이전과 같이 User 클래스를 생성할 때 필수 값은(id, username)으로 설정되어있지만
이번에는 기본 생성자와, 세터를 이용하여 필드 값을 채워나가는 패턴입니다.User 객체를 생성해보겠습니다.
public class JavaBeansPt { public static void main(String[] args) { User user = new User(); user.setId(1); user.setUserName("kihwan"); user.setLockerNumber(70); System.out.println("user : " + user); } }
결과
이전에 본 점층적 생성자 패턴에 비하여 가독성도 좋아지고,
setter메서드를 호출하여 원하는 매개변수의 값을 설정할 수 있어졌다.
하지만...
1회의 함수 호출로 객체 생성을 끝낼 수 없으므로 객체의 일관성(Consistency)이 깨지고,
때문에 클래스를 불변의(immutable) 객체를 만들 수 없다는 단점이 존재한다.마지막으로 살펴볼 패턴은 점층적 생성자 패턴과 자바 빈 패턴의 장점(안전성 + 가독성)을 결합한
빌더 패턴(Builder pattern)을 알아보겠습니다.반응형'Design Pattern' 카테고리의 다른 글
빌더 패턴(Builder Pattern) (0) 2022.03.19 점층적 생성자 패턴(Telescoping Constructor Pattern) (0) 2022.03.19