1. 자바스크립트 클래스 특징
ㅇ 자바스크립트는, 자바 언어와 달리,
- 클래스 기반의 상속 등과 같은 객체지향 언어에서의
- 전통적인 특성을 지원하지 않으므로, 진정한 객체지향 언어는 아니고,
- 다만, 객체를 다루기 때문에 객체기반의 언어(Object-Based Language)라고함
ㅇ 따라서, 클래스 기반의 객체지향 언어가 아닌, 프로토타입 기반의 객체지향 언어라고 함
- 클래스 정의 방식이 아니고, 객체의 인스턴스를 만들 때 재사용이 일어남
. (프로토타입 : 다른 객체의 프로퍼티를 상속 가능케하여 공통 특징을 갖게 하는 것)
- 객체 생성 후에도 프로퍼티,메소드를 동적으로 추가,삭제 가능
2. 자바스크립트 클래스의 생성
ㅇ 리터럴 방식
- 例) var 클래스이름 = { 프로퍼티1:값1, 프로퍼티2:값2, ... 메서드1:값1, ... }
ㅇ 함수 방식
- 例) function 클래스이름() { } 또는 var 클래스이름 = function () { }
※ 이후, 객체 생성 방법은, new 연산자를 사용함
- var newObject = new 클래스이름(...);
. 여기서, new 연산자는 클래스이름과 동일한 내부 생성자를 호출하는 연산자임
. 따라서, 자바스크립트는 생성자가 클래스 역할을 대신 함
. 다만, 생성자를 상속하기 위한 별도의 구문이 제공되지 않음
ㅇ 한편, 클래스 내 함수 생성 방법 둘(2)
- 프로토타입에 의한 함수 생성 방법
. 例) 클래스이름.prototype.메서드이름 = function () { }
- 클래스 정의시 constructor에 의한 방법