본문 바로가기

자바

자바 프로그래밍 - 메서드

메서드


  클래스 내부에 있는 함수를 메서드라고 부른다. (다른 프로그래밍 언어에서는 함수와 메서드를 구분하지만 자바는 구분하지 않는다)

위키독스 점프 투 자바 그림 참조

  메서드의 관계를 가장 잘 나타낸 그림이다. 생과일 주스를 만들기 위해 과일을 믹서기에 넣고 주스를 만든다. 이 과정에서 과일은 입력값, 주스는 출력값이고 믹서가 바로 메서드라고 할 수 있다.

 

  위의 코드에서 주석이 있는 부분이 바로 메서드이다. 

 

 

사용하는 이유


  코딩을 할 때 똑같은 내용을 반복할 때 메서드를 사용하면 편하다. 여러 번 반복한다는 것은 다시 사용할 만한 가치가 있는 부분이기에 이것을 메서드로 작성해 두면 활용하기가 편해진다.

>>> 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. 입력과 출력이 모두 있는 메서드
  2. 입력과 출력이 모두 없는 메서드
  3. 입력은 없고 출력은 있는 메서드
  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의 값을 가지고 두 값을 더해준 뒤 출력해주는 메서드이다.

 

 

(해당 자료는 위키독스 점프 투 자바를 참고하였습니다)