생성자와 new
객체지향의 기본 형태 : 변수 + 메소드, 디렉토리의 연관된 파일을 구분하는 것을 객체입니다.
객체는 독립성을 갖게 됩니다. 여러 완제품의 부품으로 사용이 가능하다는 의미입니다.
객체지향프로그래밍의 도달하고자 목표는 좋은 부품의 로직을 만드는 것!
var person = {}
person.name = 'egoing';
person.introduce = function(){
return 'My name is '+this.name;
}
document.write(person.introduce());
=========================================
객체를 만드는 과정에 분산되어 있습니다. 객체를 정의 할 때 값을 셋팅하도록 코드를 바꿔보겠습니다.
var person = {
'name' : 'egoing',
'introduce' : function(){
return 'My name is '+this.name;
}
}
document.write(person.introduce());
생성자
생성자(constructor)는 객체를 만드는 역할을 하는 함수입니다. 자바스크립트에서 함수는 재사용 가능한 로직의 묶음이 아니라 객체를 만드는 창조자라고 할 수 있습니다.
function Person(){}
var p = new Person();
p.name = 'egoing';
p.introduce = function(){
return 'My name is '+this.name;
}
document.write(p.introduce());
========================================
function Person(name){
this.name = name;
this.introduce = function(){
return 'My name is '+this.name;
}
}
var p1 = new Person('egoing');
document.write(p1.introduce()+"<br />");
var p2 = new Person('leezche');
document.write(p2.introduce());
생성자의 특징
일반적인 객체지향 언어에서 생성자는 클래스의 소속입니다. 하지만 자바스크립트에서 객체를 맏는 주체는 함수입니다. 함수에 new를 붙이는 것을 통해서 객체를 만들 수 있다는 점은 자바스크립트에서 함수의 위상을 암시하는 단서이면서 자바스크립트가 추구하는 자유로움을 보여줍니다.
출처 : 생활코딩 강의
'프로그래밍 > JavaScript' 카테고리의 다른 글
자바스크립트 : 상속(Inheritance)과 prototype (0) | 2017.11.22 |
---|---|
자바스크립트 : 전역객체와 this (0) | 2017.11.22 |
자바스크립트 : 객체지향프로그래밍(OOP : Object Oriented Programming) (0) | 2017.11.17 |
자바스크립트 : arguments, 함수의 호출 (0) | 2017.11.16 |
자바스크립트 JavaScript 간단한 범위에 관한 문제 (0) | 2017.11.16 |