본문 바로가기
JaveScript

Class - getter & setter

by 원더링 2022. 6. 3.

Getter & Setter

 

 

▶ 사용자가 값을 마음대로 변경한다거나, 잘못 입력된 값을 바르게 수정할 때 주로 쓰인다.

 

 

▶ 무한루프를 방지하기 위해 보통  getter와 setter 내부의 필드명은 언더바( _ )를 사용하여 변수명을 다르게 지정한다.

 

 

▶ getter는 값을 리턴하는 역할을 한다.

 

 

setter는 값을 설정하는 역할을 한다. 데이터를 받아와서 조건에 맞게 값을 수정한 후 필드에 값을 할당할 수도 있다.

 

class user {
    // 생성자
    constructor(firstName, lastname, age) {
        // 필드
        this.firstName = firstName;
        this.lastname = lastname;
        this.age = age;
    }
    // 메소드
    // get은 값을 리턴하는 역할을 한다.
    // get을 정의하는 순간 위에있는 필드(this.age)는 메모리에 있는 데이터를 읽어오는게 아니라 바로 get을 호출한다.
    get age() {
        return this._age;
    }

    // set은 값을 설정할수 있다. 따라서 데이터(value)를 받아와야한다.
    // set을 정의하는 순간 메모리에 바로 값을 할당하는게 아니라 set을 호출하게 된다.
    set age(value) {
        this._age = value < 0 ? 0 : value; // 값을 마이너스로 잘못 입력했을때, 값을 자동으로 0으로 수정해준다.
    }
}

// 오브젝트 생성
const user1 = new user('Seohong', 'kim', -100);  // 나이가 -100인것은 말이 안된다.

// 오브젝트 필드값 호출
console.log(user1.age); // -100은 잘못된 값이므로 0으로 수정해서 값을 보여줌

 

 

 

'JaveScript' 카테고리의 다른 글

Class - static  (0) 2022.06.03
Class - public & private  (0) 2022.06.03
Class  (0) 2022.06.03
||(OR), &&(AND), !(NOT)  (0) 2022.05.19
textContent & innerText  (0) 2022.05.18