본문 바로가기

프로그래밍 세상/자바스크립트 이야기

제 9장. 클래스, 생성자, 프로토타입

클래스, 생성자, 프로토타입 예제

 

Script Sample 소스

 

Sample 실행 화면

 

< 설명 >

Square Information

1. 자바스크립트는 C#, Java 처럼 완벽한 OOP 지원하진 않지만, 비슷하게 흉내정도는 있다.

위의 예제는 생성자 함수를 이용해서 객체를 생성하는 방법이다.

다른 언어들처럼 클래스에서 프로퍼티로 접근할 경우 this 사용해서 set, get 있다.

생성당시에 프로퍼티, 메서드를 정의해서 사용할 있지만, prototype 이용해서 추가하는 방법도 있다.

prototype으로 추가할 경우 내부 프로퍼티가 아니므로 hasOwnProperty false 반환한다.

 

String Test

2. 사용자 정의 클래스가 아닌 내장형 타입에서도 prototype 이용해서 메서드를 추가할 있다.

위의 예제에서 보면, String 객체에 contains 메서드를 추가하여 사용한 것을 있다.

indexOf ,소문자를 구분하므로, 각각 다른 값을 반환한다.

 

instanceof, constructor

3. instanceof Object, Function, Array, Date, String 대해서 인스턴스 여부를 있다.

모든 클래스는 Object 상속하였기 때문에 모든 인스턴스는 Object 인스턴스이다.

하지만, constructor 어떤 객체로 생성했는지를 정확하게 있다.

함수는 Object 이지만, construcotr Function 이다.