7.객 체


7.1 Object란?

  이 것만 가지고도 책을 한권 쓸수있을 정도의 엄청난 양인데, 여기서는 간단히 설명하도록 하겠다.

  객체란 간단히 속성과 함수를 가지고 있는 모듈(Module)단위를 말한다. 즉, 특정한 기능을 하도록 내부에 변수와 외부와의 연동을 위해서 함수를 제공하는 것이다.

  쉽게 말하면, 우리가 일상생활에서 접하는 것들은 절차(Process)위주로 해석하기보다는 객체로 바라보는 것이 편하다. 그럼 객체가 뭔가? 쉽게 말하면, 마우스, 자동차, 개, 책, 모니터, 커피, ..... 이러한 것들이 다 객체이다.

  즉, 우리가 현실세계에서 바라보는 모습을 그대로 프로그램에도 적용하면 간단하다는 것이다. 몇 번 루프를 돌고, 이럴 때는 이렇게 저럴 때는 저렇게 해야 한다가 아니라, 사람이라는 객체가 있으면, 그 객체 자신이 고유한 속성과 일을 하는 동작, 즉 프로세스를 담고 있기 때문에 어떤 일을 진행하고 싶으면 그 사람에게 명령을 내리면 된다.(군대처럼!)

  그 나머지 실제적인 행위는 그 객체 즉, 그 사람이라는 객체가 알아서 하는 것이다. 그런 사람, 책, 컴퓨터 같은 것들을 전부 객체로 구성하여 놓는 것이다.

  예를들어, 자동차라는 객체가 있다면, 소나타라는 특징을 가지는 자동차를 만들려면, 자동차라는 객체를 가지고 속성 값만 바꿔서 변수처럼 선언하게 되면 바로 소나타라는 자동차가 되는 것이다. 그럼, 바로 자동차가 간다, 선다와 같은 행위(쉽게 말하면 함수)를 불러주면 간단히 해결되는 것이다.

  이게 이해가 잘 안가면, 나중에 다시 한번 읽어보기 바란다.

7.2 속성과 함수

  모든 객체는 속성(Attribute)과 함수(Function, Behavior)를 가지고 있다. 그래서 그 객체가 가지고 있는 속성이나 함수를 부르거나 값을 가져오려면(Access),
객체이름.객체속성
객체이름.함수()
  * 앞에서도 말한 것처럼, 객체나 속성도 변수의 일종으로 볼 수 있으며 따라서, 대소문자를 가린다.

  이렇게 사용한다. 객체 이름 뒤에 점을 찍어주면 된다. document.write()처럼......

  물론 앞에서처럼 그냥 바로 함수만 달랑 있어서 직접 사용할 수도 있다. 그리고 속성이라는 것도 변수로 그냥 사용할 수도 있다. 그러나 사실은 그렇지가 않다.

    최상위 객체   alert()함수를 앞에 객체도 없이 그냥 마구 쓸 수 있다? 그건 아니다. 사실은 최상위에 window라는 객체가 있다. alert()함수는 바로 이 window객체의 함수인 것이다. 즉,
    window.alert();
      이렇게 사용하는 것인데, 최상위에 있다보니 지정하지 않은 모든 변수나 함수는 window객체의 속성과 함수가 되는 것이다. 그래서 window.alert()으로 쓰나 그냥 alert()이라고 쓰나 동일한 것이 된다.
      더구나 document.write()라고 쓰지만, 사실은 window.document.write()인 것이다.


  자바스크립트는 객체에 대한 상당히 유연한 방법을 지원하고 있다. 어떠한 객체가 있을 때 속성을 추가하는 방법은 매우 간단하다. 즉, man 이라는 객체가 이미 존재한다고 할 때, 추가 속성으로 age, company를 더 넣고 싶다면,
man.age = 28;
man.company = "deadfire Co.";
  이렇게 하면, man이라는 객체에 두 개의 속성(age, company)가 추가되는 것이다.

    최상위 객체   사실 자바스크립트에서의 객체는 배열과 같다. 즉, 위의 예는 다음과같이 바꿔 쓸 수 있다.
    man["age"] = 28;
    man["company"] = "deadfire Co.";
      다음과 같은 문장은 man이 가지고 있는 모든 속성을 출력하는 코드이다.
    for(var i in man){
        attr += "[" + i + ":" + man[i] + "]\n";
    }

- Last Update : 2008.9.4 by Deadfire(http://www.deadfire.net)

Javascript 강좌
들어가기
Javascript란?
작동 방식
장 단 점
기 초
     - HTML문서에추가하기
     - 최초 예제
     - 함수사용하기
     - 기본 함수
문 법
     - 변 수
     - 연 산
     - 조 건 문
     - 반 복 문
     - 사용자함수
객 체
     - Object란?
     - 속성과 함수
     - 객체의 생성과사용
내장 객체
     - Date
     - Math
     - String
     - Array
     - Boolean
     - Function
     - Argument
     - Number
     - Global
     - 기 타
     - with / delete
Event 객체
네비게이터 객체
     - 네비게이터객체구조
     - 객체 접근 방법
     - navigator
     - window
     - location
     - history
     - document
     - form
     - form elements
Frame 객체
기 타
     - Animation
     - Audio
마치며

Copyright ⓒ 1997 ~, Deadfire Program Master