Defining Methods

메소드 정의

메소드 는 개체와 연관되어 있는 함수입니다. 일반적인 함수를 정의하는 것과 같은 방법으로 메소드를 정의합니다. 그 후에, 존재하는 개체와 함수를 연관시키기 위해서 다음과 같은 문법을 사용합니다.

object.methodname = function_name

object는 존재하는 개체중에 하나이고, methodname은 지금 추가하려는 메소드 이름이며, function_name은 함수 이름입니다.

이제 우리는 개체의 메소드를 호출할 때 다음과 같이 할 수 있습니다.

object.methodname(params);

개체 생성자 함수에 메소드 정의를 포함시켜서 개체 타입에 대한 메소드를 정의할 수 있습니다. 예를 들어, 미리 정의된 car 개체의 속성을 출력해주는 함수를 정의할 수 있습니다.

function displayCar() {
   var result = "A Beautiful " + this.year + " " + this.make
      + " " + this.model;
   pretty_print(result);
}

pretty_print는 가로선과 문자열을 출력하는 함수입니다. 이 메소드가 포함된 개체를 참조하기 위해서 this를 사용하고 있다는 것을 주의해서 보십시오.

아래 문장을 개체 정의에 추가함으로써 이 함수를 car의 메소드로 만들 수 있습니다.

this.displayCar = displayCar;

그러므로 car 개체의 완벽한 정의는 아래와 같은 모습이 될 것입니다.

function car(make, model, year, owner) {
   this.make = make;
   this.model = model;
   this.year = year;
   this.owner = owner;
   this.displayCar = displayCar;
}

그러면 우리는 모든 car 개체에 대해서 이런 식으로 displayCar 메소드를 호출할 수 있게됩니다.

car1.displayCar()
car2.displayCar()

이 코드는 다음 그림과 같은 내용을 만들어냅니다.

Image:obja.gif 그림 7.1: 메소드 출력 결과

문서 태그 및 공헌자

 이 페이지의 공헌자: teoli, Wafe
 최종 변경: teoli,