상속(Inheritance)
현실 세계에서 상속이란 부모가 가지고 있는 재산을 자식에게 물려주는 행위를 말합니다.
@ 객체지향 프로그래밍에서 상속
상위(부모) 객체의 필드(속성)와 메소드를 하위(자식) 객체에게 물려주는 행위
하위 객체는 상위 객체를 확장해서 추가적인 필드(속성)와 메소드를 가질 수 있음
상속 대상: 필드(속성)와 메소드
@ 상속의 효과
상위 객체를 재사용해서 하위 객체를 빨리 개발할 수 있도록 한다.
반복된 코드의 중복을 줄여준다
유지 보수의 편리성을 제공해 준다.
객체의 다형성을 구현할 수 있다.
즉, 하위 객체에서 상위객체의 필드와 메소드를 따로 또 만들어서 사용할 필요가 없으며 상위 객체의 메소드에 문제가 있을 경우 상위 객체에서의 수정으로 인해 하위객체에서 문제가 있었던 메소드를 따로 수정할 필요없이 메소드를 사용할 수 있습니다.
다형성(Polymorphism)
@ 같은 타입이지만 실행 결과가 다양한 객체를 대입할 수 있는 성질을 말합니다.
부모 타입에는 모든 자식 객체가 대입
인터페이스 타입에는 모든 구현 객체가 대입
@ 효과
객체를 부품화시킬 수 있다.
유지보수가 용이하다.
자동차는 타이어 타입 설계를 했다면 타이어를 부품화 시킨다고 봅니다. 그래서 타이어 타입으로 한국 타이어(부품)와 금호 타이어(부품)를 사용할 수 있지만 각 타이어의 성능을 다르게 나온다는 것이 다형성 측면입니다.
Jaehee's WebClub
'JavaScript > JS 객체지향 프로그래밍' 카테고리의 다른 글
객체 지향 프로그래밍의 추상화 (1) | 2016.09.29 |
---|---|
객체지향 프로그래밍의 캡슐화, 상속, 다형성 (0) | 2016.09.29 |
추상 클래스 (0) | 2016.09.29 |
객체 리터럴 방식의 클래스 (1) | 2016.09.29 |
자바스크립트 프로토타입(Prototype) (0) | 2016.09.29 |