Skip to Content
Step1Q1. 캡슐화 — private과 getter

Q1. private 필드(#)와 getter를 어떻게 활용해야 하나요? 캡슐화의 기준은 무엇인가요?

선배 크루의 질문

“외부에서 사용하지 않는 변수나 메서드는 무조건 private 으로 처리해주면 좋은가? 이 메소드가 외부에서 사용되지 않기 때문에 은닉시켜줬지만, 은닉할 필요가 있는가?” — PR #83 (링크 )

“Model의 getter 함수에서 DeepCopy를 수행하는 것에 대해 어떻게 생각하시나요? get으로 가져오는 멤버 변수는 불러온 사용처에서 변경을 가하더라도 영향이 가지 않았으면 해요.” — PR #81 (링크 )

“js에서는 private를 잘 쓰지 않는다고도 알고있고요. js에서도 굳이 클래스를 통해서 oop를 했을 때 가지는 장점이 있을까요?” — PR #94 (링크 )

AS-IS 코드

class Lotto { constructor(numbers) { this.numbers = numbers; } get lottoNumbers() { return this.numbers; } } const lotto = new Lotto([1, 2, 3, 4, 5, 6]); const nums = lotto.lottoNumbers; nums.push(7); console.log(lotto.numbers);

Last updated on