자바스크립트 함수 4

"자바스크립트" 함수는 메소드를 나타 내기도 한다.

먼저 함수와 메소드의 차이점을 알아 보도록 하겠습니다.


  1. function x(){
  2.  
  3.     this.x = 1;
  4.     this.getX = function(){
  5.         return this.x;
  6.     }
  7. }
  8.  
  9. alert(typeof new x()); // object
  10. alert(new x().getX()); // 1


소스를 설명하기에 앞서 먼저 "함수"와 "메소드"의 개념적 차이를 설명 드리겠습니다.
 

보통 "함수"라는 것은 C언어를 기반으로 했던 코드들을 말하곤 합니다.
 

그래서 보통 C언어를 "함수지향언어"라고도 부릅니다.
 

하지만 "메소드"는 OOP 프로그램에서 등장한 개념 입니다.
 

이는 언어 설계상 태생부터가 다르다는 말이 됩니다.
 

즉, 함수는 제약을 받지않고 어디서나사용할 수 있는 것입니다. 
 

하지만, 메소드는 위의  new x().getX()  코드처럼 호출 객체(생성된 인스턴스)를 통해 사용할 수 있는 것을
말합니다. 
즉, 메소드는 클래스의 맴버로 종속되어 있음을 뜻합니다.
 


간단히 말해 "호출객체
.함수()"로 작성되는 코드는메소드인 것입니다.