지극히 개인적인 공부 노트/파이썬(Python)

[Python] 함수와 메서드의 차이

AS J 2021. 8. 4. 03:14

지금까지 파이썬을 공부하면서 함수(function)와 메서드(method)에 대해 정확히 구별하지 못했다.

어느 정도 둘의 개념은 파악하고 있었지만, 거의 같은 용어라고 생각하면서 공부하고, 생각하며, 기록했다.

이 글에서는 파이썬 강의 자료의 일부를 통해 정리했다.

 

 

1. 함수(function)

함수란, 특정 기능을 수행하는 코드 또는 코드의 모임이다. 아래 사진은 질리도록 봐온 대표적인 함수의 개념도이다.

대표적인 파이썬 함수로 len(), int(), str() 등의 함수가 있다.

 

2. 메서드(method)

반면, 메서드는 특정 자료에 대해 특정 기능을 하는 코드를 의미한다. 여기서 함수와 구별되는 점은 '특정 자료 형태'에서 구현된다는 점이다.

예를 들어 아래 코드처럼 리스트 자료형에 적용할 수 있는 append(), sort() 등이 리스트의 메서드가 되는 것이다.

my_list = [1, 2, 3]
my_list.append(0)
my_list.sort()

 

함수와 메서드의 차이를 한눈에 알 수 있도록 정리한 강의 자료까지 덧붙이면 아래와 같이 정리할 수 있다.

# 함수: '특정 기능'을 수행. '매개변수'로 자료를 전달
my_list = [1, 2, 3]
len(my_list)
sum(my_list)
max(my_list)
# 메서드: '특정 자료형'에서 '특정 기능'을 수행. 자료명 뒤에 마침표(.)를 찍어서 사용
my_list = [1, 2, 3]
my_list.append(0)
my_list.sort()
my_list.pop()

 

어떻게 보면 대단한 것은 아니지만, 기초부터 정의와 개념을 정확히 파악하는 것은 중요하기 때문에 이렇게 짧게나마 정리를 해봤다.