정의

1. 함수 (Function)
- 독립적으로 정의된 코드 블록으로, 특정 작업을 수행하고 값을 반환할 수 있음
- 주로 절차적 프로그래밍에서 사용되며, 입력값(매개변수)을 받아들여 결과를 출력

2. 메서드 (Method)
- 클래스에 속하는 함수로, 객체 지향 프로그래밍(OOP)에서 사용됨
- 특정 클래스의 인스턴스(객체)와 관련되어 있으며, 해당 객체의 상태(속성)에 접근하거나 변경할 수 있음

사용 맥락

종류 함수 메서드
사용 맥락 - 독립적인 코드 블록
- 다른 함수와 함께 사용할 수 있음
- 특정 작업을 수행하는 데 사용
- 클래스의 일부분임 (클래스에 속한 함수)
- 객체의 상태를 조작하는 데 사용
- 특정 객체에 대한 동작을 정의함
접근성 - 전역적으로 호출 가능
- 다른 함수와 독립적
- 해당 클래스의 인스턴스를 통해 호출해야 함
- this 키워드를 통해 객체의 속성에 접근할 수 있
예시 예: Python, C에서 사용되는 일반적인 함수
def add(a, b):
    return a + b
class Calculator {
    public int add(int a, int b) { return a + b; }
}

예시가 왜 파이썬일까 궁금해서 찾아보니, Java에서는 모든 함수는 메서드로 구현되기 때문이었다.
Java는 객체 지향 프로그래밍 언어이기 때문에, 함수는 반드시 클래스의 일부로 정의되어야 한다. = 모든 Java 함수는 메서드임.
독립적인 함수는 존재하지 않으며, 메서드를 사용하려면 반드시 클래스 내에 정의해야 한다.

비고

1. substring()과 indexOf() 게시물 내내 함수가 아니라 메서드라고 써놨는데 혹시 수정해야 할까 싶어서 기겁함. Java의 모든 함수는 메서드라 그렇게 써도 상관없네!

레퍼런스

1. 멘토링 강의, 구글링

 

'개발지식 조각 > Java' 카테고리의 다른 글

추상클래스와 메서드  (0) 2024.10.31
불변 객체  (0) 2024.10.31
[Java] IllegalArgumentException  (0) 2024.10.23
오버라이딩(Overriding)  (0) 2024.10.23
상수(Constant)  (0) 2024.10.23

+ Recent posts