본문 바로가기
IT개념

[IT개념] 메서드와 함수의 차이

by JDonly 2024. 7. 8.

 

일반적으로 C 언어에서는 함수(function)라는 용어를 사용하고, 자바(Java)에서는 메서드(method)라는 용어를 사용합니다.
이 용어들은 각 언어의 문화와 관행에 따라 사용되는 것이며,
해당 언어에서의 기능적인 역할은 비슷하지만 구현 및 사용 방법에서는 차이가 있을 수 있습니다.
 

* 자바 -> 객체지향언어 (o) -> 메서드 (종속적)

* c언어 -> 객체지향언어(x) -> 함수 (독립적)

 

💎 메서드

메서드(Method)는 어떤 도구들이 특정한 상자 안에 들어있는지를 말해줄 때 쓰이는 단어입니다.

그 도구들이 그 상자 안에 속해 있어요. 예를 들어, 만약 '색연필 상자'라는 상자가 있으면, 그 안에는 '빨간색 색연필', '파란색 색연필' 등이 들어있을 거구요,

여기서 '빨간색 색연필', '파란색 색연필' 같은 것들이 메서드라고 할 수 있습니다.

그러니까, 함수는 도구들의 목록메서드는 특정한 도구들이 속한 상자라고 생각하시면 쉽습니다.

 

💎 함수

함수(Function)은 마치 숙제를 하기 위해 필요한 도구 상자 안에 있는 다양한 도구들처럼 생각할 수 있습니다.

각각의 도구들은 특정한 일을 해낼 수 있어요.

예를 들어, 연필로 쓰기, 지우개로 지우기 등이 그 예시에요. 함수는 이 도구들을 나열해 놓은 목록이라고 할 수 있습니다.

 

 

⚡  메서드 vs 함수 

  1. 속한 객체나 클래스의 의존성:
    • 함수(Function): 일반적으로 어떤 특정 객체나 클래스에 속하지 않고 독립적으로 존재합니다. 함수는 매개변수를 통해 값을 전달받아 결과를 반환할 수 있습니다.
    • 메서드(Method): 특정 객체나 클래스에 속해 있으며, 그 객체나 클래스의 데이터에 접근하여 작업을 수행할 수 있습니다. 메서드는 객체 지향 프로그래밍에서 주로 사용됩니다.
  2. 호출 방식:
    • 함수(Function): 이름을 직접 호출하여 사용합니다. 예를 들어 print(message)와 같이 함수를 호출합니다.
    • 메서드(Method): 객체 또는 클래스를 통해 호출합니다. 예를 들어 obj.do_something() 또는 Class.method()와 같이 메서드를 호출합니다.
  3. 관련성:
    • 함수(Function): 보통 특정 기능을 수행하기 위해 독립적으로 정의됩니다. 함수는 객체나 클래스에 의존하지 않고 일반적인 목적으로 사용될 수 있습니다.
    • 메서드(Method): 특정 객체나 클래스와 관련된 동작을 정의합니다. 이 동작은 주로 객체의 상태를 변경하거나 객체 내의 데이터를 처리하는 데 사용됩니다.

 

간단히 말해, 함수는 독립적인 기능 단위를 의미하며, 메서드는 객체나 클래스에 종속된 기능 단위를 의미합니다.

객체 지향 프로그래밍에서는 메서드를 특정 객체의 행동을 정의하는 중요한 요소로 사용합니다.