24. Class

xpmxf4·2020년 11월 23일
0

이번 단원은 아얘 코드를 보면서 하는게 낫기에 코드를 적는다.

class Car {
    constructor(name, price){ // 생성자, Car 클래스의 인스턴스 생성마다 호출됨
        					  // name, price 같이 변경 가능한 상태 값이자 class내의 컨텍스트에서 아무데서나 사용할 수 있는 변수를 "멤버 변수" 라고 함
        this.name = name; // this. : 해당 인스턴스에 접근함 
        this.price = price;
        this.department = "선릉 지점";
        this.salesAmount = 0;
    }
    
    applyDiscount(discount){ // 메서드, discount를 인자로 받음 
        return this.price * discount; // 인스턴스의 price * discount 를 리턴만 함. 저장은 안됨!
    }
    
    addSales(){ // 메서드
        this.salesAmount++; // 인스턴스의 salesAmount 값을 하나 추가
    }
    
    changeDepartment(departmentName){
		this.department = departmentName; // 인스턴스의 department(Key) 값에 인자로 받은 departmentName 을 새로 할당해준다. 
    }
}

c = new Car(morning, 2000); // c 를 Car 클래스의 "인스턴스"로 선언

console.log(c);
console.log(c.applyDiscount(0.8))
c.addSales();
console.log(c)
c.changeDepartment("도곡 지점");
console.log(c)
Car {name: "morning", price: 2000, department: "선릉 지점", salesAmount: 0}
1600
Car {name: "morning", price: 2000, department: "선릉 지점", salesAmount: 1}
Car {name: "morning", price: 2000, department: "도곡 지점", salesAmount: 1}

0개의 댓글