0
 5   1   1
  View Articles

Name  
   손병목  (2002-05-21 23:41:08, Hit : 16523, Vote : 1374)
Homepage  
   http://www.itmembers.net
Subject  
   개념잡기(1) - 개체, 인스턴스, 메소드 이해하기
이번 시간에는 Date 개체와 관련 메소드 - getDay(), getDate(), getMonth(), getFullYear(), getHours(), getMinutes() 그리고 getSeconds() - 를 통해 자바스크립트에서의 개체와 메소드에 대해 예제를 통해 "느껴 보는" 시간이 되도록 하겠습니다.

먼저 이것만은 알고 넘어갑시다.
메소드는 개체가 없으면 아무런 쓸모가 없는 놈입니다. 개체가 무엇인지, 메소드가 무엇인지 아무리 개념적으로 설명해도 여전히 뜬구름 잡는 꼴이 될 것 같아 일단 아래 예제를 먼저 설명하도록 하겠습니다. 그러면 객체와 메소드라는 것이 어떤 것이구나 하는 것을 감으로 느끼실 겁니다.(개체와 객체를 혼용하였는데, 둘은 동일한 것입니다.)

<SCRIPT language=JavaScript>
//현재 날짜와 시간을 보여주는 스크립트
OpenToday = new Date();
document.write("오늘은 " + OpenToday.getYear() + "년 " + (OpenToday.getMonth()+1) + "월 " + OpenToday.getDate() + "일입니다. <br>이 페이지를 연 시간은 " + OpenToday.getHours() + "시 " + OpenToday.getMinutes()  + "분 " + OpenToday.getSeconds() + "초입니다.")
</SCRIPT>


위 소스 중에서 4행의 document.write( )의 괄호 안의 내용은 모두 한 줄입니다. 따라서 괄호 안의 내용을 입력하다가 절대 Enter를 치지 않아야 합니다.

자바스크립트는 객체제향언어(OOP)라고 했습니다. 완벽한 형태는 아니지만 객체지향언어의 성격을 띠고 있기 때문에 지금부터 설명드리는 것은 객체지향언어의 공통적인 개념이기도 합니다.

먼저 위 3행을 보면,
OpenToday = new Date();


new 명령은 새로운 개체인스턴스를 만드는 명령입니다.
갑자기 너무 어려운 말을 했나요?
개체는 뭐고 인스턴스는 또 뭘까 궁금하실텐데, 추상적인 개체가 실제로 사용할 수 있도록 구체화된 것이 인스턴스입니다.
위의 예에서는 Date() 개체의 특성을 모두 가지고 있는 실제로 사용할 수 있는 개체인 OpenToday라는 인스턴스를 만들었습니다. 그 인스턴스의 이름이 Open Today라는 것입니다.

그리고 문장의 끝에는 세미콜론(;)이 있습니다. C언어에서와 같이 문장의 끝을 의미합니다.

4행을 보면,
document.write(" … ")


괄호 안의 내용을 출력할 때 이런 식으로 사용합니다.
반드시 큰 따옴표(" ")를 사용해서 출력될 내용을 감싸야 합니다. 만약 큰 따옴표(" ")안에 또 따옴표를 써야할 일이 생긴다면...
그럴 때는 작은 따옴표(' ')를 사용하면 됩니다. document.write("…'…'…") 이런 식으로 말이죠.
write() 메소드는 document 개체가 웹 페이지 상에 텍스트를 표시할 수 있도록 해주는 기능을 합니다.

document.write 괄호 안의 내용을 주욱 보시면 Date() 개체에서 사용할 수 있는 여러 메소드가 등장합니다.
이름만 봐도 어떤 기능을 하는 메소드인지 아시겠지만 보다 자세히 설명드리자면,

  • getMonth() : 현재 월을 0∼11 사이의 숫자로 반환합니다.(1∼12가 아닙니다. 주의!)
  • getDate() : 현재 날짜를 1∼31 사이의 숫자로 반환합니다.
  • getYear() : 현재 연도를 0∼99 사이의 숫자로 반환합니다. 그러나 인터넷 익스플로러 5 이상에서는 4자리 숫자를 반환합니다. 원래 4자리 숫자로 반환하는 것은 getFullYear() 메소드입니다.
  • getFullYear() : 현재 연도를 네자리 숫자로 반환합니다.
  • getDay() : 현재 요일을 1~7 사이의 숫자로 반환합니다. (숫자로 표시된다는 것에 주의하셔야 됩니다.)
  • getHours() : 현재 시간을 0∼23 사이의 숫자로 반환합니다.
  • getMinutes() : 현재 분을 0∼59 사이의 숫자로 반환합니다.
  • getSeconds() : 현재 초를 0∼59 사이의 숫자로 반환합니다.


따라서 OpenToday.getYear()라고 하면
OepnToday라는 개체(인스턴스)의 getYear()라는 메소드를 사용한다는 뜻이 됩니다.

여기서 잠깐!
자바스크립트는 대소문자를 확실하게 구분합니다.
따라서 3행에서 Opentoday라고 정의해놓구 4행에서 OpenTadoy와 같이 사용하면 오류가 발생합니다.



나머지 내용은 주~욱 읽어보면 뜻이 다 이해가 되죠. 아니구나, 하나 설명을 빠뜨렸네요.
getMonth는 0부터 11까지 숫자를 반환합니다. 따라서 실제 해당 월의 숫자를 구하려면 1을 더해줘야 합니다. 위의 예제에서 OpenToday.getMonth()+1은 이와 같은 이유에서입니다.

그리고 "오늘은 " + OpenToday.getYear() +에서 + 기호는 문자열을 연결하라는 뜻입니다. 방금 위에서 예를 든 OpenToday.getMonth()+1에서의 + 와는 다른 의미입니다. 혼동하지 마세요!

이상 동주 아빠 손병목이었습니다.

Prev
   개념잡기(2) - 속성, 이벤트, 이벤트 핸들러 이해하기

손병목
Next
   자바스크립트를 실행하는 몇 가지 방법

손병목


Copyright 1999-2020 Zeroboard / skin by Zetyx