메서드
메서드는 클래스(Class) 내부에 존재하는 영역으로, 특정 기능을 하는 코드를 묶어서 나타내는 것이다. 즉, 특정 기능을 수행하기 위한 코드들의 집합체이다.
특정 기능을 수행한다는 것은 데이터를 입력받아 해당 데이터를 일련의 처리 과정을 통해 만들어진 결과값을 반환하는 것을 의미한다.
1. 함수와 메서드
메서드는 다른 언어(C, C++)의 함수 개념과 매우 비슷하다. 이 둘의 차이점은 함수는 특정 기능을 수행하는 코드들을 묶은 것이고, 메서드는 클래스내에 포함되어 있는 함수라고 이해할 수 있다.
종종 자바 언어를 개발하면서 함수라고도 많이 하는데 ,자바는 객체지향 언어이며 모든 코드를 클래스 내에서 작성하기 때문에 메서드라는 용어를 사용하여 구분 짓는 것이 좋다.
1) 메서드 정의
메서드는 다음과 같은 형태로 정의할 수 있다.
public static void main(String[] args) { } |
public static은 클래스와 연관된 부분으로 조금 더 쪼개서 살펴보면 다음과 같다.
void main(String[] args) { // 내용 } |
2) 반환 타입
- 메서드는 처리 결과값을 반환한다. 처리 결과는 값의 형태로 된 데이터를 뜻하며, 이 데이터가 반환 값이다.
- 값은 여러 종류로 나뉜 데이터로 정수, 문자, boolean, ... 등 다양하다.
- 이러한 값의 종류를 데이터 타입(Data Type)이라 하며, 자료형이라고도 한다.
- 따라서 반환 타입은 메서드가 반환할 값의 종류를 의미하며, 메서드를 정의할 때 반환할 값의 타입을 명시해야 한다.
- void의 경우 없음을 뜻하며 반환 값이 없다는 것을 의미한다.
3) 매개변수 타입과 매개변수 이름
- 메서드는 데이터를 입력받아 해당 데이터를 일련의 처리 과정을 통해 결과값으로 반환한다.
- 즉, 메서드 외부에서 메서드 내부로 전달하는 입력 값이 존재한다. 이를 매개변수라 한다.
- 값(데이터)은 변수를 통해 저장할 수 있다. 이를 메서드의 매개변수로 지정함으로써 메서드 내부에서 사용할 수 있게 해 준다.
- 매개변수는 메서드 외부와 내부를 매개해주는 변수라는 의미이다.
- 메서드 이름 옆에 소괄호'()'를 통해 매개변수의 타입과 이름을 공백으로 구분하여 지정한다.
- 매개변수의 타입은 어떤 데이터 타입을 메서드가 입력받아 사용할 것인지를 지정하는 곳이다.
- 매개변수 이름은 입력받은 값에 이름을 붙여 메서드 내부에서 이름을 통해 사용한다.
4) 메서드 바디
- 메서드가 구체적으로 어떤 기능을 수행할지에 대한 코드를 작성하는 부분이다.
- return 키워드를 사용해 처리 결과를 반환할 수 있다.
5) 메서드 예시 (두 정수의 합)
- 메서드 반환 타입 int: 메서드 바디에서 return 시 반환되는 값의 타입이 정수형이다.
- 메서드 이름 addNum: 메서드 이름을 정의한 것으로, 더한다는 의미의 add로 지정한다.
- (메서드의 이름은 뜻이 있는 단어로 지정하는 것이 일반적이다)
- 매개변수 타입 int: 매개 변수의 타입은 정수형(int)으로 정수로 된 숫자를 입력받는다. 각 매개변수마다 다른 타입으로 지정할 수도 있다.
- 매개변수 이름 a, b: 매개변수의 이름을 정의한 것이다.
- (메서드 매개변수는 콤마(,)를 사용하여 여러 개의 매개변수를 지정할 수 있다)
6) 메서드 호출
메서드는 정의하는 것만으로 실행되지 않는다. 메서드를 정의하는 것은 단순히 동작에 대한 처리 과정을 기술한 것이다. 따라서 메서드를 직접 사용하기 위해 다음과 같은 방법으로 호출해야 한다.
인자를 줄 때, 직접 값을 기입할 수 도 있다.
출처
[Java] 자바의 메서드 개념 정리 (메서드의 정의와 호출, main 메서드)
메서드 (Method) 메서드는 클래스(Class)의 내부에 존재하는 영역으로, 특정 기능을 하는 코드를 묶어서 나타내는 것이다. 즉, 특정 기능을 수행하기 위한 코드들의 집합체이다. 특정 기능을 수행한
ittrue.tistory.com
'Java > 공부' 카테고리의 다른 글
11. 참조형 (Reference type) (1) | 2024.03.05 |
---|---|
10. Static (0) | 2024.03.05 |
8. 반복문 (0) | 2024.03.05 |
7. 분기문 (0) | 2024.03.05 |
6. 연산자 (0) | 2024.03.05 |