반응형

2021/08/11 2

[엘레강트 오브젝트] 1-3장 생성자에 코드를 넣지 마세요

이 글은 엘레강트 오브젝트 새로운 관점에서 바라본 객체지향 도서를 보며 스터디한 글입니다. 책에서 주장하는 내용을 정리하였으며 예제들은 모두 코틀린 코드로 변환하여 작성하였습니다. 토론하기 인자에 손대지 말라 인자에 손대는 클래스 먼저 인자에 손대는(?) 코드를 살펴보겠습니다. class Cash( private val dollars: Int ) { constructor(dollars: String): this(Integer.parseInt(dollars)) } 객체 초기화에는 코드가 없어야하고 인자를 건드리면 안됩니다. 필요하다면 인자를 다른 타입의 객체로 감싸거나 가공하지 않은 형식으로 캡슐화해야합니다. 위 코드를 수정한 예시를 살펴보겠습니다. 인자에 손대지 않는 클래스 class Cash( priv..

Study/object 2021.08.11

[엘레강트 오브젝트] 1-2장 생성자 하나를 주 생성자로 만드세요.

이 글은 엘레강트 오브젝트 새로운 관점에서 바라본 객체지향 도서를 보며 스터디한 글입니다. 책에서 주장하는 내용을 정리하였으며 예제들은 모두 코틀린 코드로 변환하여 작성하였습니다. 토론하기 이 책의 방법론대로 클래스를 작성한다면 메서드 수보다 생성자 수가 많아질 것 입니다. Method Count < Construct Count 이 책에서 권장하는 메서드의 수는 2 ~ 3개이고 생성자는 5 ~ 10 개입니다. 예시를 통해서 자세히 살펴보겠습니다. 먼저 임의의 Cash 클래스를 생성합니다. class Cash( private var dollars: Int ) { } 생성자가 많아질수록 클래스를 더 유연하게 사용할 수 있습니다. Cash(30) Cash("$29.5") Cash(29.5f) Cash(29.5..

Study/object 2021.08.11
728x90
반응형