[딥다이브] 프로토타입

piper ·2024년 3월 3일
0

Java Script 

목록 보기
20/22

객체지향 프로그래밍은 객체의 (1)상태를 나타내는 데이터(property- key:value)와
(2)상태를 조작할 수 있는 동작(method)을 하나의 논리적인 단위로 묶은 복합적인 자료구조이다.

상속: 상속은 어떤 객체의 프로퍼티 또는 매서드를 다른 객체가 상속받아 그대로 사용할 수 있는 것을 말한다. 코드 재사용은 개발비용을 줄일 수 있는 잠재력이 있으므로 중요하다.

상속과 프로토타입: 그런데 인스턴스를 생성할 때마다 중복하여 사용되는 메서드가 있다면 이는 불필요한 메모리를 차지하게 된다. 자바스크립트는 이를 방지하기 위해 프로토타입을 기반으로 상속을 구현한다.

예시:

//1.생성자함수 생성

function Circle( radius ){
    this.radius = radius
}

//인스턴스들에서 이 메서드를 사용할 수 있다.
Circle.prototype.getArea = function (){
    return Math.PI * this.radius**2;
};

//2.인스턴스 생성

const circle1 = new Circle(1);
const circle2 = new Circle(2);

console.log(circle1.getArea()); //3.121415....
console.log(circle2.getArea()); //12.56637.....
profile
연습일지

0개의 댓글