클래스, 생성자, 프로토타입 의 예제 |
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 이다. |
'프로그래밍 세상 > 자바스크립트 이야기' 카테고리의 다른 글
제 14장. 브라우저 창 스크립팅 (0) | 2012.02.26 |
---|---|
제 13장. 웹 브라우저와 자바스크립트 (0) | 2012.02.23 |
제 12장. 자바스크립팅 (0) | 2012.02.16 |
제 11장. 정규 표현식을 사용한 패턴 매칭 (0) | 2012.02.14 |
제 10장. 모듈과 네임스페이스 (0) | 2012.02.13 |
제 8장. 함수 (0) | 2012.01.30 |
제 7장. 객체와 배열 (0) | 2012.01.30 |
제 6장. 문장 (0) | 2012.01.21 |
제 5장. 표현식과 연산자 (0) | 2012.01.21 |
제 4장. 변수 (0) | 2012.01.15 |