프로그래밍 언어에 있어서 함수(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"
'Dev > python' 카테고리의 다른 글
[python] tensorflow에서 GPU 사용가능 여부 확인하기(+ 실제로 얼마나 빠른지 확인) (9) | 2020.06.09 |
---|---|
[python] convolution과 activation을 분리해서 해주려면? (4) | 2020.06.09 |
[python] KeyError: 'mae' 또는 KeyError: 'acc'를 만났을 때 해결방법 (0) | 2020.06.06 |
[python] 파이썬 유용한 내장 함수들 10개 정리 (0) | 2020.05.23 |
[python] 디렉토리 내 파일 목록 읽기 (0) | 2020.04.27 |
[python] 코드 실행 시간 측정(매우 간단) (6) | 2020.04.24 |
[Anaconda+python] 전이학습 이용해서 가위, 바위, 보 분류기 만들기 (41) | 2020.04.20 |
[python] tensorflow.keras 딥러닝 모델의 레이어 이름 얻기 (0) | 2020.04.20 |