JavaScript/Javascript

상속(inheritance)

MoZZANG 2022. 2. 20. 14:42

상속은 '자식이 부모로부터 상속받는다' 라고 할 때의 그 상속이다. A라는 객체가 a라는 기능을 가지고 있는데 그것을 B라는 객체도 사용할 수 있도록 a라는 기능을 상속해준다는 개념이다. 또한 단순히 물려받는 것 뿐만이 아니라 새로운 기능을 추가도 할 수 있따.

 

 

예제를 보자.

 

▲ 위의 코드를 상속을 위한 코드로 아래처럼 바꿔보자.

 

 

▲ 12행과 13행에서 Person.prototype이라는 객체를 만들고 객체 안에 name과 introduce라는 property를 생성하고 각각의 메소드도 생성한 것이다. 20행의 코드가 상속을 시키는 코드이다. 상속하는 부모인 person앞에 new를 붙여 생성자를 만들고, 상속을 받은 programmer.prototype을 통해 person.prototype의 기능을 사용할 수 있게 되는 것이다.

 

 

 

하지만 단순히 상속만 받는다면 의미가 없다. 글의 시작에서도 얘기했지만 상속을 받고 추가적으로 새로운 기능도 추가하여 사용하는 것이 상속의 궁극적인 목표인 것이다. 

 

 

▲ 20행에서 person의 기능을 상속받으면서 21행에서처럼 자신만의 기능인 메소드 coding을 만들었다.

이로써 Programmer는 Person의 기능도 가지고 있으면서 Person이 가지고 있지 않은 기능인 메소드coding도 가지게 된 것이다. 

'JavaScript > Javascript' 카테고리의 다른 글

Object(객체)  (0) 2022.02.27
Prototype  (0) 2022.02.20
this  (0) 2022.02.20
생성자와 new  (0) 2022.02.20
함수의 호출  (0) 2022.02.19