본문 바로가기

Development Note

RTP Session 1. Chain Constructors

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
RTP 4, 5장에서는 어떤 방식으로 세션을 나누어 놓았고, 어떤 방식으로 패턴을 활용한 리팩토링에 접근하는지 전반적인 책을 보는 방법에 대해서 정리를 해 놓았고, 그래서 4장, 5장에 대한 정리는 하지 않았습니다.

먼저 세션은 총 21개로 되어있습니다.

그중에 첫 세션은 Replace Constructors with Creation Methods (생성 메소드로 생성자를 대체하기), Chain Constructors (연쇄 생성자) 입니다. 공부를 하던 도중에 순서가 연쇄 생성자 부터 하는 것이 좋겠다고 생각이 되어서 먼저 연쇄 생성자를 다루도록 하겠습니다.



Chain Constructors


컴퓨터라는 객체를 생성하는 것이 컴퓨터를 주문하는 기능을 하며, 어떤 사람이 완전히 동작하는 컴퓨터를 구입한다고 가정을 해봅시다. 일단은 기본적으로 완전히 컴퓨터가 동작하기 위해서는 메인보드, CPU, RAM, HDD 가 있어야 됩니다. 그래서 기본 생성자로 선택을 했습니다. 그리고 추가적으로 사운드 카드와 그래픽 카드를 구입하며, 둘중 하나만 구입할 수도 있고, 둘다 구입할 수도 있습니다.

먼저 여러개의 생성자가 존재하게 됩니다. 전부 this.멤버변수명 이런식으로 생성자의 인수들과 매칭을 시켜줘야 하는데요, 여기서 Chain Constructors를 사용할 수 있습니다. 연쇄 생성자라는건 이런 식입니다. 어떻게 바뀌었는지 한번 보시길 바랍니다 ^^




일단 this 라는 키워드에 주목할 필요가 있습니다. 이 키워드는 참 명시적인 키워드 명이라는 생각이 듭니다. 해당 클래스의 인스턴스를 의미하는데요. 적어도 한개의 생성자가 있어야겠지요? 그래서 Full-argument 생성자를 하나 만들어 주고, this 키워드를 사용하여, 오버로딩하는 다른 생성자를 만들고, 불필요한 매개변수 값만 null 값으로 지정을 해주면 됩니다! 이로 인해 소스코드가 한결 간결해졌습니다 ^^