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

OROSY·2021년 3월 27일
0

JavaScript

목록 보기
28/53
post-thumbnail

1. 클래스

4) 상속(확장)

JavaScript의 클래스를 통해 이미 정의된 로직을 확장(상속)해서 쉽게 구현 가능
이렇게 클래스를 사용하면, 미리 만들어져있는 로직을 추가적으로 새로운 기능을 확장이라는 개념을 통해 관리 가능
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을 의미
  }
}
const myBicycle = new Bicycle('삼천리', 2)
const daughtersBicycle = new Bicycle('세발', 3)

console.log(myBicycle) // 값: Bicycle {name: "삼천리", wheel: 2}
console.log(daughtersBicycle) // 값: 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(daughterCar) // 값: Car {name: "포르쉐", wheel: 4, license: false}
profile
Life is a matter of a direction not a speed.

0개의 댓글