프로토타입(prototype)이란?

Jean Young Park·2023년 11월 13일
0

javascript

목록 보기
8/15

프로토타입이란?

자바스크립트에서 프로토타입은 객체의 상속을 구현하는 방법이다. 프로토타입은 객체가 상속할 속성과 메소드를 정의하는 객체이다. 객체를 생성할 때, 해당 객체의 프로토타입을 지정한다. 이렇게 지정된 프로토타입은 해당 객체의 상위 객체 역할을 하며, 해당 객체는 프로토타입에 정의된 속성과 메소드를 사용할 수 있다.

// 생성자 함수 정의
function Person(name) {
	this.name = name;
}

// Person 생성자 함수의 프로토타입 정의
Person.prototype.sayHello = function() {
	console.log("안녕하세요, 저는 " +  this.name + "입니다.");
}

// Person 객체 생성
const person = new Person("홍길동");

// Person 객체에서 프로토타입의 메소드 호출
person.sayHello(); // "안녕하세요, 저는 홍길동입니다." 출력

장점

  • 상속을 구현하기 쉽다.
  • 객체의 확장성이 좋다.
  • 객체의 유연성이 좋다.

헷깔리지 말자..!

여러 글을 읽어봤지만 살짝 헷깔려서 이해할 때 참고가 된 강의이다.
지금은 이해했지만 또 헷깔릴때 다시 봐야겠다..
이거보고 prototype 이해 못하면 강의접음

// 기계는 부모
// 여기다가 쓰면 자식이 {q:'strike'} 직접 가짐
function 기계() {
	this.q = 'strike';
 	this.w = 'snowball';
}

//여기다가 쓰면 부모만 {name: 'kim'} 가짐
기계.prototype.name = 'kim';

// nunu는 기계의 자식
var nunu = new 기계();

// length, sort 모두 prototype 그래서 아래와 같이 사용할 수 있는 것임
기계.length();
기계.sort();

0개의 댓글