함수(function), 메서드(method), 매개변수(parameter), 인수(argument) 용어
페이지정보
내용
프로그래밍 언어마다 기능들을 부르는 용어들이 조금씩 다를 수 있다. 또한 영어를 한글로 해석해서 부르다보니 영어의 정확한 늬앙스를 놓치기도 쉽다.
아래는 자주 사용하지만, 뜻을 정확하게 알수 없는 용어들에 대한 간단한 정의이다.
- 함수 (function)
함수는 자주 사용하는 기능이나, 코드속에 복잡하게 작동하는 기능등을 따로 모아서 사용할 수 있도록 만든 코드들의 집합이다.
다른 프로그래밍 언어에서는 함수를 만들 때, function 이라는 지시어를 사용하지만 파이썬에서는 def를 사용한다.
또한 파이썬에서는 코드 블럭을 구분할 때 중괄호( { } ) 를 사용하지 않고 들여쓰기를 통해 코드 블럭을 구분한다.
다른 프로그래밍 언어
function sum(a, b) { c = a + b + 10; return c; } |
파이썬
def sum(a, b): c = a + b + 10 return c |
- 메서드 (method)
일반적으로 함수라 하면 독립적으로 실행되는 함수(function)를 말한다.
그리고 메서드(method)는 클래스 내부에 작성된 함수이다.
아래의 코드를 보자.
def AAAA(): print("나는 함수이다.")
class classBBBB(): def BBBB(): print("나는 classBBBB의 내부에서 만들어진 함수, 즉 메서드이다.")
#AAAA 함수 호출 AAAA()
#BBBB 메서드 호출 classBBBB.BBBB() |
AAAA는 함수이다.
BBBB는 classBBBB내부에서 선언된 함수, 즉 메서드이다.
함수를 호출할때는 함수를 바로 호출하면 되고, 메서드를 호출할때는 클래스.메서드 형태로 호출한다.
메서드도 함수이므로 함수라 불러도 되지만, 메서드라고 호칭되면 클래스 내부에서 선언되었다는 것을 좀 더 명확하게 알 수 있다.
- 매개변수 (parameter)
매개변수란 함수(메서드)에서 사용할 값을 외부에서 받아들이기 위해 정의한 변수이다.
def sum(a, b): c = a + b + 10 return c |
위의 sum 함수에서 a, b라는 값은 외부에서 받아들이는 값들이다. 이렇게 외부에서 받아들일 값들을 지정한 변수를 매개변수라 한다.
- 인수 (argument)
인수는 함수를 호출 할 때, 함수에서 요구하는 매개변수에 전달하는 값이다.
def sum(a, b): c = a + b + 10 return c
x = 1 sum(1, x) |
위의 코드를 보면 sum() 함수는 a, b 두개의 매개 변수를 가지고 있다, 즉 sum() 함수를 호출하기 위해서는 두 개의 인수를 전달해줘야 한다.
따라서 sum(1, x)라는 코드에서 sum() 함수를 호출할 때, 1과 x라는 값을 전달하였다. 이렇게 함수를 호출할때 함수에 전달하는 값을 인수(argument)라 한다.
정리하면
함수에서 받아들일 때, 사용하는 변수는 매개변수(parameter)
함수를 호출할 때, 전달하는 값은 인수(argument)