코드팩토리 JS

14. Getter and Setter

박성하하 2025. 12. 26. 19:45
728x90
반응형
/**
 * Getter and Setter
 */
class IdolModel{
    name;
    year;

    constructor(name, year){
        this.name = name;
        this.year = year;
    }

    /**
     * 1) 데이터를 가공해서 새로운 데이터를 반환할때
     * 2) private한 값을 반환할때
     */
    get nameAndYear(){
        return `${this.name}-${this.year}`;
    }

    set setName(name){
        this.name = name;
    }
}

const yuJin = new IdolModel('안유진', 2003);
console.log(yuJin);                 // IdolModel {name: '안유진', year: 2003}
console.log(yuJin.nameAndYear);     // 안유진-2003

yuJin.setName = '장원영';
console.log(yuJin);                 // IdolModel {name: '장원영', year: 2003}

class IdolModel2{
    #name;
    year;

    constructor(name, year){
        this.#name = name;
        this.year = year;
    }

    get name(){
        return this.#name;
    }

    set name(name){
        this.#name = name;
    }
}

const yuJin2 = new IdolModel2('안유진', 2003);
console.log(yuJin2);                // IdolModel2 {year: 2003, #name: '안유진'}
console.log(yuJin2.name);           // 안유진

yuJin2.name = '코드팩토리';
console.log(yuJin2.name);           // 코드팩토리
728x90
반응형

'코드팩토리 JS' 카테고리의 다른 글

16. inheritance  (0) 2025.12.26
15. static keyword  (0) 2025.12.26
13. class  (0) 2025.12.26
12. try catch  (0) 2025.12.26
11. copy by value and reference  (0) 2025.12.22