상속: 3개의 글
상속 1. 상속(inheritance)이란?객체는 연관된 로직들로 이루어진 작은 프로그램이라고 할 수 있다. 상속은 객체의 로직을 그대로 물려 받는 또 다른 객체를 만들 수 있는 기능을 의미한다. 단순히 물려받는 것이라면 의미가 없을 것이다. 기존의 로직을 수정하고 변경해서 파생된 새로운 객체를 만들 수 있게 해준다. 상속 받은 객체가 부모 객체의 어떠한 기능은 제외하고 어떠한 기능은 추가해서 자신의 맥락에 맞게 부모의 객체의 로직을 재활용하면서 또 그 맥락에 맞는 로직을 제거하거나 추가하면서 재활용할 수 있다. 아래 코드는 이전 시간에 살펴본 코드다.function Person(name){ this.name = name; this.introduce = function(){ return 'My name ..
상속, 인터페이스에 의한 다형성(polymorphism) 1. 지연 바인딩 보통은 변수의 타입은 이 변수가 참조하는 개체의 클래스와 일치한다. ChessPiece bishop = new ChessPiece(); 위에서 bishop 변수는 ChessPiece 클래스를 실체화시킴으로써 생성되는 객체를 가리키는데 사용될 수 있다.이렇게 변수의 타입과 이 변수가 참조하는 객체가 호환 가능해야 하나 정확하게 일치할 필요는 없다. 참조 변수와 이 변수가 참조하는 객체와의 관계는 더 유연하다. 다형성(polymorphism)이란 용어는 "여러 형태를 갖는 것"으로 정의된다.다형 참조(polymorphic reference)는 때에 따라 다른 타입의 객체를 참조할 수 있다는 것이다. 다형 참조를 통해서 호출되는 특정 ..
상속(extends), 추상 클래스(abstract), 인터페이스(implement) 객체지향을 조금이라도 공부한 사람들은 상속, 추상 클래스, 인터페이스에 대해 계속적으로 들어봤을 것이다. 이 개념들이 객체 지향 프로그래밍을 하는데 중요한 개념이기 때문이다.이것들은 어플리케이션을 설계하는데 공통된 부분을 묶어 정의해주고, 구조화 해주며, 객체로 활용할 수 있도록 도와준다.이것들에 대한 개념 및 예제들은 많이 찾아볼 수 있으므로, 여기서는 간단히 정리하겠다. 1. 상속 (extends) 상속은 기존의 클래스로 부터 새로운 클래스를 유도하는 과정이다. 쉽게 말해서 부모 클래스를 extends로 상속받아 자식 클래스에서 내 것처럼 사용할 수 있는 것이다. 시스템을 설계하다보면, 공통된 부분으로 인하여 중복되..