# 객체지향 (1) constructor

Doozuu·2022년 11월 11일
0

Javascript

목록 보기
19/99

constructor : object 생성기계

object는 그냥 복사하면 안된다.
object를 여러개 복사하고 싶을 때 사용하는 것이 constructor
상속기능을 구현하는 장치이다.


상속(inheritance)

constructor가 가진 속성들을 그대로 물려받는 오브젝트를 만드는 것.
-> 자식이 부모에게 상속받음
(부모 : 상속해주는 오브젝트, 자식 : 상속받는 오브젝트)


만드는 방법

function을 이용해 만듦.
this keyword 사용해서 새로 생기는 object에 속성 부여
이때 this는 새로 생성되는 오브젝트를 뜻함.(= instance)

  • constructor 이름 짓는 관습 : 함수 이름 시작을 대문자로 함.

복사 방법 : new constructor();

변수에 저장해서 자유롭게 사용 가능)
var a = new constructor();
var b = new constructor();


장점 :

  1. 비슷한 + 독립적인 object 자료를 여러개 만들 때 코드의 양이 줄어듦.
  2. 특히 오브젝트 안에 들어갈 내용이 복잡하고 많을 때 쌩코딩 하지말고 써보기.



예제 ) 출석부

var 학생1 = {name : 'kim', age : 15}

function Machine(이름,나이){
	this.name = 이름; 
    this.age = 나이; 
    this.sayHi = function(){
    console.log('안녕하세요' + this.name + ' 입니다');
  }
}

var 학생1 = new Machine('Park',15); // {name: 'Park', age : 15, sayHi : ~~}
var 학생2 = new Machine('Kim',18); // {name: 'kim', age : 18, sayHi : ~~}


예제 2) 쇼핑몰 상품데이터

function Constructor(상품명, 가격){
  this.name = 상품명;
  this.price = 가격;
  this.부가세 = function(){
    console.log(this.price * 0.1);
  }
}

var product1 = new Constructor('shirts', 50000);
var product2 = new Constructor('pants', 60000);
profile
모든게 새롭고 재밌는 프론트엔드 새싹

0개의 댓글