[Essentials] 클래스(4) - 상속(확장)

일상 코딩·2022년 3월 28일
0

JavaScript

목록 보기
30/53
post-thumbnail

01.상속(확장)

  • JavaScript의 클래스를 통해 이미 정의된 로직을 확장(상속)해서 쉽게 구현 가능
  • 이렇게 클래스를 사용하면 미리 만들어져있는 로직을 추가적으로 새로운 기능을 확장이라는 개념을 통해 관리 가능
  • extends: 클래스를 상속하기위한 예약어
class Vehicle {
  constructor(name, wheel) {
    this.name = name;
    this,wheel = wheel;
	}
}

const myVehicle = new Vehicle("운송수단", 2);
console.log(myVehicle); // Vehicle {name: "운송수단", wheel: 2}

class Bicycle extends Vehicle { // extends라는 키워드를 이용해 상속
	constructor(name, wheel) {
		super(name, wheel) // super라는 함수는 extends 키워드 뒤의 확장된 Vehicle class를 의미
	}
}

const myBicyle = new Bicycle("삼천리", 2);
const daughtersBicyle = new Bicycle("세발", 3);

console.log(myBicyle); // Bicycle {name: "삼천리", wheel: 2}
console.log(daughtersBicyle); // Bicycle {name: "세발", wheel: 3}

class Car extends Vehicle {
	constructor(name, wheel, license) {
		super(name, wheel); // super라는 함수를 통해 기본 로직을 동작
		this.license = license; // 기존의 로직에 추가적인 내용을 작성하여 새로운 기능을 확장함
	}
}

const myCar = new Car("벤츠", 4, true); 
const daughtersCar = new Car("포르쉐", 4, false);

console.log(myCar); // Car {name: "벤츠", wheel: 4, license: true}
console.log(daughtersCar); // Car {name: "포르쉐", wheel: 4, license: false}
profile
일취월장(日就月將) - 「날마다 달마다 성장하고 발전한다.」

0개의 댓글