티스토리 뷰


  1   Javascript의 객체생성


 

자바스크립트에서 객체를 생성하는 방법은 3가지가 있다.



  2   첫번째 방법 {}를 이용한 일반적인 객체생성




위같은 코드로 객체생성시 한번밖에 사용하지 못한다는 단점이 존재한다.

(고로 단한번밖에 사용하지 않을 객체라면 첫번째 방법을 사용해도 무방)

 



  3   두번째방법(객체지향적)과 세번째방법(함수지향적)




위와 같은 코드로 객체를 생성시 일반 객체지향 언어에서와 같이 객체의 반복 사용이 가능하다.

객체지향적으로 생성한 객체는 JAVA나 C++과 같이 new연산자를 이용하여 객체생성이 가능하다.

하지만 여기서 객체지향적 객체생성과 함수지향적 객체생성 모두 문제점을 가지고있다.

 


위의 두방법 모두 객체를 생성시 객체마다 함수를 새로 생성하게 된다.(getAge와 getName) 그렇기 때문에 객체를 생성할때 마다 불필요한

메모리낭비가 발생하게 된다. 그렇기때문에 객체를 생성시 일반 변수를 제외한 함수는 prototype이라는 공간에 선언(new 연산자를 이용하여 객체를 생성했을 경우에만 해당)을 하게된다

 

prototype이란 자바스크립트의 객체들이 공유하는 공간으로 java에서의 static과 비슷한 개념이라고 생각하면된다.



  4   prototype에 함수 선언방법



생성자함수이름.prototype.함수이름 = function(){}



위와 같은 방식으로 함수를 선언하였을 경우 함수는 prototype에 선언이 되며 이후에 생성되는 모든 Member객체는 prototype의 함수를 공유하게 된다. 

'Javascript' 카테고리의 다른 글

Javascript 상속  (0) 2013.05.12
Javascript 캡슐화  (0) 2013.05.11
댓글