메서드
클래스 내부에 있는 함수를 메서드라고 부른다. (다른 프로그래밍 언어에서는 함수와 메서드를 구분하지만 자바는 구분하지 않는다)
메서드의 관계를 가장 잘 나타낸 그림이다. 생과일 주스를 만들기 위해 과일을 믹서기에 넣고 주스를 만든다. 이 과정에서 과일은 입력값, 주스는 출력값이고 믹서가 바로 메서드라고 할 수 있다.
위의 코드에서 주석이 있는 부분이 바로 메서드이다.
사용하는 이유
코딩을 할 때 똑같은 내용을 반복할 때 메서드를 사용하면 편하다. 여러 번 반복한다는 것은 다시 사용할 만한 가치가 있는 부분이기에 이것을 메서드로 작성해 두면 활용하기가 편해진다.
>>> public class sample {
>>>
>>> public static class SumAandB {
>>> int a;
>>> int b;
>>>
>>> public int sum(int x, int y) {
>>> this.a = x;
>>> this.b = y;
>>> return a + b;
>>> }
>>> }
>>>
>>> public static void main(String[] args) {
>>> int a = 5;
>>> int b = 6;
>>>
>>> SumAandB sum1 = new SumAandB();
>>>
>>> System.out.println(a + b);
>>> System.out.println(sum1.sum(a, b));
}
}
a + b와 sum1.sum(a, b)는 다르게 생겼지만 결국은 같은 기능을 수행한다.
메서드의 구조
구조를 일반화하면 이렇다.
>>> 리턴자료형 메서드명(입력자료형1 매개변수1, 입력자료형2, 매개변수2 ...) {
>>> code1
>>> code2
>>> ...
>>> return 리턴값;
>>> }
>>> // 예시
>>> public int sum(int x, int y) {
>>> this.a = x;
>>> this.b = y;
>>> return a + b;
>>> }
입출력 유무에 따른 메서드
메서드는 입출력 유무에 따라 크게 4가지로 분류할 수 있다.
- 입력과 출력이 모두 있는 메서드
- 입력과 출력이 모두 없는 메서드
- 입력은 없고 출력은 있는 메서드
- 입력은 있고 출력은 없는 메서드
1. 입력과 출력이 모두 있는 메서드
>>> int sum(int a, int b) {
>>> return a + b;
>>> }
입력값 : int 자료형 a, int 자료형 b
출력값 : int 자료형 a+b
2. 입력과 출력이 모두 없는 메서드
>>> void print() {
>>> System.out.println("Hello World!");
>>> }
입력값 : x
출력값 : x(void)
단순하게 메서드가 호출되면 "Hello World!"만을 출력한다.
3. 입력만 있는 메서드
>>> void printSum(int a, int b) {
>>> System.out.println("a 와 b의 합 : " + a+b);
>>> }
입력값 : int 자료형 a, int 자료형 b
출력값 : x(void)
4. 출력만 있는 메서드
>>> public static class SumAB {
>>> int a = 5;
>>> int b = 3;
>>>
>>> int sum() {
>>> return this.a + this.b;
>>> }
>>> }
입력값 : x
출력값 : int 자료형 a + b
위 코드는 sumAB에 정의되어 있는 a와 b의 값을 가지고 두 값을 더해준 뒤 출력해주는 메서드이다.
(해당 자료는 위키독스 점프 투 자바를 참고하였습니다)
'자바' 카테고리의 다른 글
자바 프로그래밍 - 생성자 (0) | 2023.10.30 |
---|---|
자바 프로그래밍 - 상속 개념 (0) | 2023.10.23 |
자바 메인 클래스 public static void main(String[] args) 뜻 알기 (0) | 2023.10.17 |
자바 프로그래밍 - 클래스 (0) | 2023.10.16 |
안드로이드 스튜디오(자바) - 로또 번호 생성 프로그램 (0) | 2023.09.25 |