안녕하세요
이번 글에서는 자바스크립트에서의 상속 - (constructor) 핵심만 알려드리겠습니다.
1. 상속이란?
상속이란 객체지향의 핵심 개념으로,
객체의 속성을 상속받은 객체를 만들 수 있습니다.
자바스크립트에서, 상속을 구현하는 크게 3가지 방법이 있습니다.
1. constructor(생성자)
2. Prototype(프로토타입) (prototype, __proto__)
3. class(클래스)
오늘은 첫 번째로 constructor에 대해 배워보겠습니다.
2. 사용이유
객체는 reference data type이기 때문에, 복사할 때 등호 대신
전개연산자 혹은 다른 복사 방법을 사용해야 합니다.
그게 불편하다면 constructor(생성자)를 사용하여 객체를 복사할 수 있습니다.
한마디로 비슷한 객체를 쉽게 여러 개 만들 수 있습니다!
2.1 사용방법
function Person(name, age) {
this.name = name;
this.say_hello = function() {
console.log("안녕하세요 " + this.name + "입니다.");
};
}
위처럼 function을 만든 후,
this를 사용하여 객체의 속성과 메서드를 지정할 수 있습니다.
이게 constructor입니다.
var person1 = new Person("John");
console.log(person1); //{name: 'John', sayHello: ƒ}
그리고 new 키워드를 이용하면 객체를 만들 수 있습니다.
이렇게 생성된 객체를 instance(인스턴스)라고 합니다.
construcor은 이렇게 쉽게 객체를 만들 수 있는데요.
객체를 만든 거 기에, 값을 가져올 때도 객체처럼 사용하시면 됩니다.
console.log(person1.name) //John
console.log(person1.say_hello()) //"안녕하세요 John입니다."
위처럼 constructor를 사용하면
생성자 함수를 만든 후 그 속성을 상속받은 객체를 만들수 있어요!
그리고 상속해주는 Person 객체를 “부모”
상속받는 person1객체를 “자식"이라고 보통 비유해서 부릅니다.
'javascript > (es6)핵심만 시리즈' 카테고리의 다른 글
[JS ES6]-[16] 상속 핵심만 이해하기(3) - class(클래스) (0) | 2023.09.09 |
---|---|
[JS ES6]-[15] 상속 핵심만 이해하기(2) - Prototype(prototype, __proto__) (0) | 2023.09.09 |
[JS ES6]-[13]destructuring(구조분해 할당) 핵심만 이해하기 (2) | 2023.09.08 |
[JS ES6]-[12]arguments/rest parameter(나머지 연산자) 핵심만 이해하기 (0) | 2023.07.02 |
[JS ES6]-[11]default parameter(매개변수 기본값) 핵심만 이해하기 (0) | 2023.07.01 |