⊗jsOpBsGSA 18 of 60 menu

JavaScript OOP에서 게터와 세터의 장점

이전 강의에서 우리는 각 속성에 대해 게터와 세터를 만들었습니다. 왜 이런 복잡한 과정이 필요한지 의문이 들 수 있습니다. 결국 같은 효과를 속성을 비공개가 아닌 공개로 만들면 얻을 수 있을 텐데 말이죠.

게터와 세터에는 장점이 있습니다: 속성에 접근하기 전에 몇 가지 검사를 수행할 수 있다는 점입니다. 예를 들어, 우리의 경우 이름과 성을 설정할 때 새 값이 빈 문자열이 아닌지 확인할 수 있습니다:

class User { #name; #surn; setName(name) { if (name.length > 0) { this.#name = name; } else { throw new Error('name is incorrect'); } } setSurn(surn) { if (surn.length > 0) { this.#surn = surn; } else { throw new Error('surn is incorrect'); } } getName() { return this.#name; } getSurn() { return this.#surn; } }

이것이 어떻게 작동하는지 테스트해 봅시다. 먼저 클래스의 객체를 생성하겠습니다:

let user = new User;

이제 올바른 값을 설정해 보겠습니다:

user.setName('john');

이제 올바르지 않은 값을 설정해 보겠습니다:

user.setName(''); // 오류

Employee 클래스의 나이 세터에서 나이가 0세부터 120세 사이여야 한다는 검사를 추가하세요.

Employee 클래스의 급여 게터에서 급여를 읽을 때 그 값의 끝에 달러 기호가 추가되도록 만드세요.

한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부