본문 바로가기

자바스크립트 기초

메서드(Method)란 무엇인가?

728x90

메서드란 한마디로 표현하면,

객체가 가지고 있는 함수(객체 안에 있는 함수)

이다

 

자바스크립트에서는 일반적으로 함수와 메서드의 기능적인 차이는 없다.

그 때문에 둘 다 함수라고 한다.

그렇지만 읽는 방법을 구별하는 것이 알기 쉽기 때문에

객체가 프로퍼티로 가지고 있는 함수를 특별히 메서드라고 한다.

(근대 이렇게 나눠 놓으니까 뭔가 더 헷갈리는 것 같다.)

 

함수: 어떤 일련의 과정을 1개의 처리로 정리해서 여러 곳에서 쓸 수 있도록 한 기능

메서드: 객체가 프로퍼티로서 가지고 있는 함수(위의 함수를 가지고 있음)

객체의 프로퍼티

메서드의 사용법을 알기 전에 객체의 프로퍼티에 대해 간단히 알아보면

객체는 키(key)와 값(value) 쌍으로 이루어진 프로퍼티를 가진다.

프로퍼티는 한 마디로 속성이라고 생각하면 된다.

const obj = { //객체
 key: value 
};

 

메서드의 정의

객체는 일반적으로 프로퍼티와 같은 형식의 메서드(함수) 가질 수 있다.

(key)메서드명 을 지정하고,(value)에 함수를 정의한다..

const obj = {
  methodA : function() {
    ...
  },
} ,
//화살표함수도 가능
methodB: () => {
    ...
  }
};

또는 미리 메서드를 정의하지 않고

빈 객체를 정의한 후 메서드를 정의하는 것도 가능하다.

const  obj = {};

obj.methodA = function() {};
obj.methodB = () => {};

 

원래 작성되어 있던 객체에 , 후에 메서드를 추가할 수도 있.

const user = {
  id: 1,
  name: ‘john’,
  age: 21
};

// user 객체에 sayHi메서드를 추가
user.sayHi = function() {
  console.log(‘Hello’)
}

메서드의 호출

정의한 메서드는 객체.메서드명() 과 같이 호출할 수 있다.

const user = { 
 id: 1, 
 name: 'John', 
 age: 25 
};

 user.sayHi = function() { 
  console.log('Hello'); 
 }; 
 
//메서드의 호출
user.sayHi(); // "Hello"
728x90