개요
세터가 있다는 것은 필드를 수정할 수 있다는 뜻
변경이 싫다면 생성자로만 초기화해야 한다.
세터 제거하기 리팩터링 필요한 상황
생성 스크립트를 사용해 객체를 생성할 때
생성 스크립트란 기본 생성자를 호출한 후 인련의 세터를 호출하여 객체를 완성하는 형태의 코드를 말한다. 즉, 첫 생성 후에만 세터를 호출한다. 이럴 경우 세터를 제거해 의도를 명확히 한다.
class Person{ get name(){return this._name;} set name(arg){this._name = arg;} get id(){return this._id;} set id(arg){this._id = arg;} } const martin = new Person(); martin.name = "마틴"; martin.id = "1234"; |
id는 객체 생성 후 변경되면 안된다. |
class Person{ constructor(id){ this._id = id; } get name(){return this._name;} set name(arg){this._name = arg;} get id(){return this._id;} } const martin = new Person("1234"); martin.name = "마틴"; |
'IT책, 강의 > 리팩터링' 카테고리의 다른 글
11 - API 리팩터링 - 함수를 명령으로 바꾸기 (1) | 2023.09.19 |
---|---|
11 - API 리팩터링 - 생성자를 팩터리 함수로 바꾸기 (0) | 2023.09.18 |
11 - API 리팩터링 - 매개변수를 질의 함수로 바꾸기 (0) | 2023.09.16 |
11 - API 리팩터링 - 객체 통째로 넘기기 (0) | 2023.09.15 |
11 - API 리팩터링 - 플래그 인수제거하기 (0) | 2023.09.14 |