본문 바로가기

프로그래밍

함수(function)와 메서드(method) 차이?

반응형

swift로 개발하면서 func라는 명령어로 함수를 선언하는데, 분명 function의 의미다. 근데 보통 업무에 대해 얘기하다보면 function이라는 표현보다는 method라는 표현을 쓰곤 했다. 근데 문득 내가 그렇게 쓰면서도 도대체 둘의 차이를 모르고 쓰고 있다는 사실을 알게됐다. 아.. 프로의식이 항상 부족해...

 

그래서 반성하는 겸 둘의 차이를 알아보기로 했다. 자 위키피디아의 힘을 빌려보자.

 

 

 

위키피디아 함수

 

 

 

오, 함수 문서에 메서드가 포함되어 있다. 즉, 메서드는 함수의 한 종류로 볼 수 있겠다.

함수는 쉽게 말해서 반복되는 코드를 호출과 수정을 쉽도록 하는 '기능'이다. 그래서 그 기능을 사용하기 위해 func 등의 명령어로 선언 하는것이고. 그럼 메서드도 그러한 함수이긴 한데 뭐가 다른걸까?

 

 

 

위키피디아 메서드

 

 

객체지향 프로그래밍에서 ... 클래스 내부에 정의되어 있다.

 

좋아. 쉽게 얘기해서 메서드는 class나 struct같은 객체 내부에 정의되어 있는 함수를 말하는구나.

func myFunction() { // 함수
    ...
}

class myClass { // class 객체

    func myMethod() { // 메서드
        ...
    }
    
}

 

그렇지. 보통 swift에서는 함수는 class 내부에 작성하니까 대부분 매서드라고 불리는게 맞았었네.

이젠 헷갈리지 말고 당당하게 메서드라고 표현해야겠다!

 

 

 

참고:

1) https://ko.wikipedia.org/wiki/%ED%95%A8%EC%88%98_(%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D)

2) https://ko.wikipedia.org/wiki/%EB%A9%94%EC%84%9C%EB%93%9C_(%EC%BB%B4%ED%93%A8%ED%84%B0_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D) 

 

반응형

'프로그래밍' 카테고리의 다른 글

면접 본 (망한)후기  (0) 2022.04.25
Drupal(드루팔)로 웹사이트 구축하기  (0) 2021.12.15
The escaping cat on Scratch  (0) 2021.10.01
SDK vs API vs Framework vs Library?  (4) 2021.09.30
parameter와 argument의 차이?  (0) 2021.05.28