2020-05-22 20:32:30

프로그래밍 언어에 있어서 함수(function)라는 것은 어떠한 기능을 수행하는 친구입니다. 각 함수마다 나름의 기능을 가지고 있습니다. 두 수를 입력받아 덧셈을 수행하는 함수가 있을 수 있고, 소요된 시간을 측정하는 기능을 담당하는 함수도 있을 수 있고, 수많은 남자와 여자 중에 어울리는 한쌍을 찾아주는 함수도 있을 수 있습니다. 코딩의 세계에는 수억개, 수조개의 함수가 있습니다. 현존하는 함수의 수는 절대 셀 수 없습니다. 지금도 누군가는 열심히 함수를 만들어내고 있기 때문입니다. 

 

또한 함수와 헷갈리기 쉬운 메서드(method)라는 친구도 있습니다. 메서드도 함수처럼 어떠한 기능을 수행하는 친구입니다. 차이가 있다면 메서드는 클래스 및 객체(object)와 연관되어 있는 함수라는 것입니다. 클래스 내에 선언되어 있는 함수가 바로 메서드입니다. 즉, 클래스 및 객체와 연관되어 있는 것이라면 메서드고, 그것들과 상관없이 독립적으로 존재하는 것은 함수입니다. 함수가 메서드보다 더 큰 개념이라고 생각할 수 있습니다. 그래서 메서드를 부를 때 포괄적으로 함수로 지칭하기도 합니다. 

 

 

함수는 sum(), abs() 같이 독립적으로 사용되는 반면, 메서드는 a라는 객체가 존재할 때 a.upper(), a.lower()와 같은 형태로 사용됩니다. 

 

 

<참고자료>

[1] https://www.geeksforgeeks.org/difference-method-function-python/, GeeksforGeeks, "Difference between Method and Function in Python"