다양한 속성 중에서 프로그램에 필요한 속성만 간추려 내어 표현하는 것
속성을 통해 여러 개의 값을 하나의 단위로 구성한 복합적인 자료구조,상태데이터와 동작을 하나의 논리적인 단위로 묶은 복합적인 자료구조
어떤객체의 프로퍼티 또는 메서드를 다른 객체가 상속받아 그대로 사용할 수있는것. 자바스크립트에서는 상속을 구현하여 불필요한 중복 제거하며 코드를 적극적으로 재사용함.
자바스크립트는 객체의 프로퍼티에 접근하려고 할때 해당객체에 접근하려는 프로퍼티가 없다면[[Prototype]]내부슬롯의 참조를 따라 자신의 부모역할을 하는 프로토타입의 프로퍼티를 순차적으로 검색 이를 프로토타입 체인이라 한다. 프로토타입 체인은 자바스크립트가 객체지향 프로그래밍의 상속을 구현하는 메커니즘. 즉,프로토타입 체인은 상속과 프로퍼티 검색을 위한 메커니즘.
구분 | 소유 | 값 | 사용주체 | 사용목적 |
---|---|---|---|---|
proto접근자 프로퍼티 | 모든객체 | 프로토타입 참조 | 모든객체 | 객체자신의 프로토타입에 접근 또는 교체하기 위해 사용. |
prototype 프로퍼티 | constructor | 프로토타입 참조 | 생성자 함수 | 생성자 함수가 자신이 생성할 객체(인스턴스)의 프로토타입을 할당하기 위해 사용. |
상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의 해서 사용하는 방식
함수의 이름은 동일하지만 매개변수의 타입 또는 개수가 다른 메서드를 구현하고 매개변수에 의해 메서드를 구별하여 호출하는 방식. 자바스크립트는 오버로딩을 지원하지 않지만 arguments객체를 사용하여 구현할 수는 있다.