[프로토타입 기반 프로그래밍]
프로토타입 기반 프로그래밍 언어 중 대표적인 언어가 JavaScript입니다.
클래스 기반 프로그래밍 언어인 C++과 달리, 객체를 생성한 후에도 프로퍼티나 메서드를 동적으로 추가/수정이 가능합니다.
또한 프로토타입을 공유하고 있는 객체들은 서로 프로퍼티나 메서드를 공유하고 있기 때문에 메모리 절약을 할 수 있습니다.
[프로토타입 알아보기]
function 사람() {
this.이름 = "silverCastle";
this.나이 = 27;
}
var 나 = new 사람();
function 키워드를 사용하여 prototype에 접근할 수 있는데
사람 = 부모
나 = 자식
prototype = 유전자
역할을 한다고 이해하면 됩니다. 그렇기 때문에 '사람'의 유전자를 조회해 보면 사람에 있는 정보를 알 수 있는 것이죠.
그리고 자식인 '나'는 부모의 유전자를 물려받았기 때문에 부모의 정보에 대해 접근할 수 있습니다. 즉, 상속을 받을 수 있습니다.
서두에 프로토타입 기반 프로그래밍은 객체를 생성한 후 프로퍼티나 메서드를 추가할 수 있다고 했는데요...! 부모 유전자의 어떤 정보를 추가하였기 때문에 당연하게도 자식에서 해당 정보를 접근할 수 있습니다.
[Array를 통해 프로토타입 이해하기]
기존에 우리는 배열을 sort() 함수를 빈번히 사용합니다.
var arr = [3,2,1];
arr.sort(); // [1, 2, 3]
생각해 보면 우리가 직접 sort 함수를 구현한 적이 없습니다. 그런데 어떻게 사용할 수 있었을까요?
바로 Array의 유전자 안에 해당 정보가 들어있기 때문입니다!
Array도 마찬가지로 유전자의 어떤 정보를 추가하여 해당 정보를 자식에서 사용할 수 있습니다.
Array.prototype.함수 = function() {
return "함수";
};
'JavaScript' 카테고리의 다른 글
[JavaScript] toLocaleString() 메서드로 숫자, 날짜 형식 변환하기 (0) | 2024.05.14 |
---|---|
[JavaScript] 클린 코드(Clean Code)로 예쁨받기 (0) | 2023.10.03 |