[javascript] 상속과 상속 체인 구현 방법
JavaScript에서 객체 지향 프로그래밍을 할 때 상속을 구현하는 방법을 살펴보겠습니다.
1. 프로토타입을 이용한 상속
JavaScript에서 상속은 프로토타입 체이닝을 통해 구현됩니다.
아래는 부모
객체로부터 상속받는 자식
객체를 만드는 간단한 예제입니다.
function 부모(속성) {
this.속성 = 속성;
}
부모.prototype.메서드 = function() {
// 메서드 구현
}
function 자식(속성, 추가속성) {
부모.call(this, 속성); // super()와 같은 역할
this.추가속성 = 추가속성;
}
자식.prototype = Object.create(부모.prototype);
자식.prototype.constructor = 자식;
위의 예제에서는 부모
함수로부터 상속받는 자식
함수를 만들었습니다.
Object.create
메소드를 이용하여 자식
객체의 프로토타입을 부모
객체의 프로토타입으로 설정하면 자식
객체는 부모
객체의 메서드를 사용할 수 있습니다.
2. 클래스 문법을 이용한 상속
ECMAScript 2015(ES6)부터 JavaScript는 클래스 문법을 지원합니다. 이를 이용하면 더 간단하게 상속을 구현할 수 있습니다.
class 부모 {
constructor(속성) {
this.속성 = 속성;
}
메서드() {
// 메서드 구현
}
}
class 자식 extends 부모 {
constructor(속성, 추가속성) {
super(속성); // super()와 같은 역할
this.추가속성 = 추가속성;
}
}
ES6에서는 extends
키워드를 사용하여 상속을 쉽게 구현할 수 있습니다. super
키워드를 사용하여 부모 클래스의 생성자와 메서드를 호출할 수 있습니다.
결론
JavaScript에서 상속을 구현하는 방법에는 프로토타입을 이용한 방법과 클래스 문법을 이용한 방법이 있습니다. ES6 이후에는 클래스 문법을 이용한 상속이 보다 간편하고 가독성이 좋기 때문에 일반적으로 더 많이 사용됩니다.
더 많은 정보를 원하시면 MDN web docs를 참고해보세요.