본문 바로가기

JavaScript/JavaScript_지식_정리

객체의 프로퍼티 값으로 함수가 들어가는 '메소드(Method)'

메소드 (Method)

메소드는 객체의 프로퍼티 값으로 함수가 들어가있는 것을 말한다.

예를 들어, 사람을 나타내는 객체가 특정한 값만을 가지고 있는것이 아니라 어떠한 행동도 하게 되는데, 그 행동이 함수인 것이다. ex) 인사하기, 달리기, 밥먹기 등등..

이렇듯 객체도 객체에 따라 각각 수행할 수 있는 일들이 있으며, 그 수행하는 행동을 함수로 표현하는 것이다.

 

메소드 선언법

객체에 메소드 선언법 
let Person = {
	Greeting: function(){
		console.log('Hi');
	}
}
/* 점 표기법으로 함수 값 넣기
Person.Greeting = function(){
	console.log('Hi');
}
*/

 

 

위의 코드와 같이 프로퍼티 값으로 함수를 선언하면 메소드가 만들어지는 것이다.

이 메소드는 점 표기법으로도 만들 수 있다.

메소드 실행
let Person = {
	Greeting: function(){
		console.log('Hi');
	}
}

Person.Greeting();

 

객체에 있는 메소드를 실행하는 방법은 객체의 값을 불러오는 방법과 같이 점 표기법을 사용해서 불러오면 된다.

대신, 메소드도 함수이기 때문에 ( ) (괄호) 를 사용하여 함수를 실행한다고 표시를 해주어야 한다.

let Person = {
	Greeting: function(){
		return 'Hi';
	}
}

let Greeting = Person.Greeting();
console.log(Greeting);

메소드에 리턴값이 있는 경우에는 변수에 리턴값을 저장한 다음에 변수를 사용하면 된다.

이미 만들어져있는 함수를 메소드로 넣기
function Greeting(){
	console.log('Hi');
}

let Person = {};

Person.Greeting = Greeting;

Person.Greeting(); // 'Hi'

 

 

이미 만들어져있는 Greeting 함수를 점 표기법으로 새로운 프로퍼티 만드는 방법을 이용해 Person 객체의 메소드로 추가하였다.

객체에서 function 사용하지 않고 메소드 선언
let Person = {
	Greeting(){
		console.log('Hi');
	}
}

 

위의 코드와 같이 함수를 생성하는 구문인 function을 생략하고 메소드를 선언할 수도 있다.