4. Javascript의 객체
사용
① 객체 정의하기
객체는 속성과 동작 방식에 해당하는 특성(Property)과 메소드(Method)를
가진다.
객체는 생성자 함수(constructor function)로 정의된다.
fucntion computer(cpu, ram, hdd) {
this.cpu = cpu;
this.ram = ram;
this.hdd = hdd;
} |
this라는 것은 생성자 함수를 통해서 만들어지는 객체 자기 자신을 가리킨다.
"." 연산자는 객체에 속한 특성이나 메소드를 지정하는
역할을 하는 것으로 왼쪽에는 객체가 오고 오른쪽에는 메소드가 나오게
된다.
② 객체 만들기
생성자 함수를 이용하여 객체를 만드는 방법은 new라는 연산자를
이용한다.
mycomputer = new computer("pentium",
16, 810);
yourcomputet = new computer("486", 8, 500); |
위 객체들을 달리 표현해보면...
mycomputer.cpu = "pentium"
mycomputer.ram = 16
mycomputer.hdd = 1200
yourcomputer.cpu = "486"
yourcomputer.ram = 8
yourcomputer.hdd = 540 |
③ 객체의 메소드 정의하기
메소드가 되는 함수를 먼저 정의해야 한다.
function Print() {
document.write("CPU : "
+ this.cpu + " , ");
document.write("RAM : "
+ this.ram + " , ");
document.write("HDD : "
+ this.hdd + "<br>");
} |
출력을 해주는 함수이다. 생성자 함수에 이 함수를 메소드로 첨가시킨다.
function computer(cpu, ram, hdd) {
this.cpu = cpu;
this.ram = ram;
this.hdd = hdd;
this.Print = Print;
} |
이제 일일이 출력함수를 나열할 필요 없이 Print 메소드를 호출하면
된다.
mycomputer.Print();
yourcomputer.Print(); |
참조 배열을 사용하여 객체의 특성을 알아내는 방법
mycomputer.cpu = mycomputer[0] = mycomputer["cpu"]
= "pentium"
mycomputer.ram = mycomputer[1] = mycomputer["ram"]
= 16
mycomputer.hdd = mycomputer[2] = mycomputer["hdd"]
= 1200 |
④ for... in 제어문
객체 속에 들어 있는 모든 특성들을 반복해서 보여주는 기능을 가진다.
for(var each_property in mycomputer)
{
document.write(mycomputer[each_property]);
} |
현재 객체 속에 몇 개의 특성이 들어있는지 알 필요가 없다. 객체 속의
특성들을 모두 읽을 때까지 for...in 제어문은 자동으로 반복 실행한다.
|