185일차 - 함수와 메서드

김민찬·2021년 11월 11일
0

취업으로의 여정

목록 보기
192/196
post-thumbnail

메서드 메소드 ?

우선 가볍게 아이스브레이킹으로 이야기를 시작하자면 검색을 하면서 알게된 정확한 용어이다.

서칭을 하면서 메서드에 대해서 검색을 하는데, 대부분 method를 메소드라고 작성하고, 일부는 메서드라고 적어있었다. 나도 자연스럽게 메소드라고 적다가 정확한 단어가 궁금해서 국립국어원에 검색을 해봤다.


국립국어원 - 메소드?메서드?

국립국어원 피셜 메서드!

함수(Function)와 메서드(Method)

이전에 함수와 메서드에 대해서 구분해서 이야기하지 않았었다.
둘은 생김새과 실행기능이 같기 때문이다.
굳이 차이를 내서 부르자면 메서드를 객체안에 있는 함수라고 불렀었다.

StackOverflow에 이 질문에 대한 답변들이 있다.

차이점을 요약해보자면
함수는 독립 실행이 가능하고, 메서드는 객체를 통해서 해당 메서드를 수행해야한다.
즉, 메서드는 동작을 수행하는 주체는 객체이니, 객체에게 그 동작을 수행하라고 지시해야한다.

함수

const sayHello = () => console.log('hello');

sayHello(); // 'hello'

함수는 위처럼 함수를 독립적으로 호출할 수 있다.

하지만 메서드는 아래 예시처럼 객체에게 지시를 해야한다.

const hi = {
    sayHello: () => console.log('hello')
};

sayHello(); // referenceError: sayHello is not defined
hi.sayHello(); // 'hello'

메서드의 추가적인 기능

메서드는 객체안에 있는 data를 조작할 수 있다.

const count = {
  n: 0,
  plusOne: function () {
    return this.n += 1;
  },
  sayNum: function () {
    console.log(this.n);
  }
};

count.plusOne(); // n은 1이 된다.
count.plusOne(); // n은 2가 된다.
count.sayNum(); // n이 2가 되었음을 확인

참고자료

Junimo - 메소드와 함수
DN_Developer - 함수와 메소드의 차이
메소드와 함수의 차이점

profile
두려움 없이

0개의 댓글