1. 개요
저번 주에 클래스와 객체에 대한 글을 티스토리에 올리고 나서
주말에 김장을 하고, 핸드폰으로 내가 올렸던 글을 다시 읽다가 궁금증이 하나 생겼다.
메소드는 개념적으로도 구조적으로도 함수와 똑같은데
그러면 "이 둘의 차이가 무엇일까?" 라는 생각이었다.
일단 결론부터 말하자면 메소드는 클래스에 포함된 함수이다.
왜 이러한 결론에 도달했는 지를 말하기 전에 함수의 정의를 먼저 정리해보겠다.
2. 함수의 정의
① 함수의 정의
- 하나의 특별한 목적의 작업을 수행하기 위해서 독립적으로 설계된 프로그램 코드의 집합
② 함수를 사용하는 이유
- 함수를 사용하면 반복적인 프로그래밍을 피할 수 있다.
- 프로그램에서 특정한 작업을 여러 번 반복해야 한다면
해당 작업을 수행하는 함수를 작성하고
프로그램이 그 작업을 수행할 때마다, 이를 위해서 만든 함수를 호출하는 것으로
해당 작업을 반복적으로 수행할 수 있다.
- 프로그램을 여러 개의 함수로 나눠서 작성하면 코드의 전체적인 가독성이 좋아지고
특정 함수에서 에러가 발생하면, 에러가 발생한 함수를 수정하면 되므로
코드의 유지보수가 쉬워진다.
③ 함수의 선언
//함수의 선언
int func(int x, int y) {
}
//'int''func''(int x, int y)''{...}'
//'반환 타입''함수 이름''(매개변수)''{/*명령문*/}'
/* (1). 반환 타입 Return type
* - 함수가 모든 작업을 마치고, return하는 데이터 타입을 정함
* (2). 함수 이름
* - 외부에서 해당 함수를 호출하기 위한 이름
* (3). 매개 변수 Parameters
* - 함수 호출 시에 전달되는 인수의 값을 저장할 변수
* (4). 명령문
* - 함수가 가진 고유 기능을 수행하는 명령문의 집합
*/
함수를 호출할 때, 여러 개의 인수를 전달할 수 있지만 함수가 반환, return하는 값은 하나만 존재한다.
그리고 함수의 특성에 따라 인수, 반환 값이 없는 함수도 존재할 수 있다.
3. 결론
메소드(method)의 정의를 간략하게 말하자면 아래와 같이 말할 수 있다.
"어떠한 특정 작업을 수행하기 위한 명령문의 집합으로, 수학에서 함수와 비슷한 개념."
메소드는 클래스와 객체에 종속된 함수이지만, 함수는 클래스나 객체에 상관없이 독립적으로 존재할 수 있다.
따라서 메소드(method)는 함수에 포함된 개념이라고 할 수 있으며
메소드를 지칭할 때, 함수나 클래스에 포함된 함수라고 하기도 한다.
'Programming > Java' 카테고리의 다른 글
[Java] 9. static (0) | 2022.12.21 |
---|---|
[Java] 8. Scanner (0) | 2022.12.04 |
[Java] 7. 클래스와 객체 (Part 2) (0) | 2022.11.21 |
[Java] 7. 클래스와 객체 (Part 1) (0) | 2022.10.28 |
[Java] 6. 배열 (Part 2) (0) | 2022.10.19 |