---------------------------------------------------------------------
자바의 클래스는 네 개의 기본 타입으로 이루어진다.
인스턴스 프로퍼티, 인스턴스 메서드, 클래스 프로퍼티, 클래스 메서드.
---------------------------------------------------------------------
# 자바스크립트의 인스턴스 프로퍼티
모든 객체에는 자신만의 인스턴스 프로퍼티 사본이 있다. 즉, 한클래스에 속하는 객체가 열 개 있다면 인스턴스 프로퍼티 사본이 열 개 만들어진다.
# 자바스크립트의 인스턴스 메서드
인스턴스 메서드는 메서드를 호출한 객체나 인스턴스를 참조하기 위해서 this 키워드를 사용한다.
클래스의 인스턴스가 인스턴스 메서드를 호출할 수는 있지만, 인스턴스 프로퍼티같이 각 객체마다 그들만의 메서드 사본을 가진다는 말은 아니다. 대신 각 인스턴스 메서더는 클래스의 모든 인스턴스가 공유한다.
자바스크립트에서의 클래스의 인스턴스 메서드는 생성자의 프로토타입 객체가 가진 프로퍼티에 함수 값을 넣어주는 방법을 통해서 정의 된다.
# 자바스크립트의 클래스 프로퍼티
자바에서 클래스 프로퍼티란 클래스의 각 인스턴스가 아닌 클래스 자체와 연관 되어 있는 프로퍼티를 말한다.
자바스크립트에서도 클래스 프로퍼티를 흉내낼 수 있다.
# 자바스크립트의 클래스 메서드
클래스 메서드는 클래스의 인스턴스보다 클래스 자체와 연관이 있다. 클래스 메서드는 특정 인스턴스를 통해 호출 되지 않고 클래스 자체를 통해 호출 된다.
<script> function Circle(radius){ this.radius = radius; //인스턴스 프로퍼티이며, 생성자 안에서 정의되고 초기화 된다. } Circle.PI = 3.14; //클래스 프로퍼티 선언 // 인스턴스 메서드 선언 Circle.prototype.area = function(){ return this.radius * this.radius * Circle.PI; } //클래스 메서드 선언 Circle.max = function(a, b){ if(a.radius > b.radius) return a else return b; } </script> |
'web.. > javascript' 카테고리의 다른 글
DOM Script 속성과 메소드 (0) | 2013.10.11 |
---|---|
자바스크립트 코어 - 생성자와 프로토타입 (0) | 2013.03.19 |
자바스크립트 코어 - 함수 (0) | 2013.03.18 |
자바스크립트 코어 - 객체 (0) | 2013.03.18 |