상세 컨텐츠

본문 제목

JavaScript :: 클래스, 상속

JavaScript

by 비오스터딩 2020. 7. 30. 22:46

본문

 

  클래스(Class)  

클래스를 사용해 객체를 생성할 수 있다.

 

 

 

class Object{                              

constructor( key1, key2){

this.key1 = key1;

this.key2 = key2;

}                               

 method( ){ 메서드 코드 }  

}                                         

new Object( );

 

클래스를 사용해 객체를 생성하고자 할 때는,

function대신 constructor을 사용하여 객체를 만든다.

메서드를 만들 때도 prototype이나 function이라는 단어를 사용하지않고,

method의 이름으로 생성한다.

 

new Object를 적어줘야 객체가 생성되는건 동일.

 

 

ex. 이전 글(https://biio-studying.tistory.com/69)에서와 유사한 객체 생성, 그 결과가 동일함을 확인 할 수 있다.

Person 객체 kim을 호출하면,

console.log('constructor')이 제일 먼저 실행되는걸 확인할 수 있다.

그 후, 객체가 호출됨.

 

함수로 객체를 생성했을 때와 동일하게,

메서드를 호출하여 함수를 재정의하여 바꿀 수 있음.

 

 

 

  상속(inheritance)  

    상속을 사용하면,

이전에 클래스로 만든 객체생성자의 코드를 상속받을 수 있다.

(새로 코드를 작성할 필요 x)

 

클래스에서 동일한 코드를 중복하여 사용하지 않을 수 있음.

-어떤 메서드가 객체의 많지 않은 부분에서만 사용될 때,

새로운 클래스를 만들어 상속받고, 새로운 메서드를 추가하여 사용한다.

-라이브러리를 사용하는 경우, 유지보수에 용이하다.

라이브러리를 필요에 의해 변경하는 경우 상속을 사용해 클래스를 하나더 만들어 변경한다면,

라이브러리가 업데이트될경우 문제없이 사용이 가능하다.

 

 

 

  Class Object extends ObjectBefore{ }  

ObjectBefore이라는 클래스를 확장하여 Object 클래스를 생성.

 

  

위에 사용한 Person 클래스의 내용을 모두 상속받아,

다시 코드를 적지않아도 그 결과값이 나옴.

 

 

 

 

반응형

'JavaScript' 카테고리의 다른 글

JavaScript :: 객체 간의 상속  (0) 2020.08.01
JavaScript :: super  (0) 2020.08.01
JavaScript :: 객체 생성자, 프로토타입  (0) 2020.07.29
JavaScript :: this  (0) 2020.07.29
JavaScript :: 객체  (0) 2020.07.28

관련글 더보기

댓글 영역