프로토타입(Prototype)이 무엇인가요?

0

기술면접 - JS

목록 보기
7/18

프로토타입(Prototype)이 무엇인가요?

프로토타입(Prototype)의 개념

JavaScript에서 prototype은 객체 지향 프로그래밍에서 사용되는 개념입니다. JavaScript는 프로토타입 기반의 객체지향 언어입니다. 모든 JavaScript 객체는 prototype이라는 내부 링크를 가지고 있습니다. 이 링크는 객체를 생성할 때 해당 객체의 프로토타입(prototype) 객체를 가리킵니다.

프로토타입 객체는 다른 객체의 속성과 메서드를 제공하기 위해 사용됩니다. 즉, 객체의 프로퍼티나 메서드를 직접 정의하지 않아도, 해당 객체의 프로토타입에 정의된 속성과 메서드를 사용할 수 있습니다.

프로토타입(Prototype)의 예시

예를 들어, 다음과 같이 객체를 생성해보겠습니다:

function Person(name) {
  this.name = name;
}

Person.prototype.sayHello = function() {
  console.log("Hello, my name is " + this.name);
}

var person1 = new Person("John");
var person2 = new Person("Jane");

person1.sayHello(); // 출력: Hello, my name is John
person2.sayHello(); // 출력: Hello, my name is Jane

위 예제에서 Person 함수를 정의하고, Person.prototype 객체에 sayHello 메서드를 추가했습니다. 그런 다음 new Person("John")을 사용하여 person1 객체를 생성했습니다. 이 객체는 Person 함수의 프로토타입인 Person.prototype 객체를 가리키는 내부 링크를 가지게 됩니다.

따라서 person1 객체에서 sayHello 메서드를 호출할 때, 해당 객체에는 sayHello 메서드가 직접 정의되어 있지 않지만, 내부 링크를 통해 프로토타입 객체에 정의된 메서드를 사용할 수 있습니다.

프로토타입(Protype)의 장점

프로토타입은 객체 간의 상속을 가능하게 합니다. 객체의 프로토타입 체인을 따라 올라가면서 프로퍼티와 메서드를 검색할 수 있으며, 이를 통해 코드의 재사용성과 유지 보수성을 높일 수 있습니다.

profile
지치지 않는 백엔드 개발자 김성주입니다 :)

0개의 댓글

관련 채용 정보