Contents

Java
2013.12.28 09:25

3.3.2 메서드

조회 수 314 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄


3.3.2 메서드

1, 2장에서 데이터의 집합이라는 측면에서 클래스를 공부하였다. 데이터와 메서드가 결합된 형태의 클래스를 배우기 전에 우선 메서드의 개념부터 알아보자. 먼저 용어적인 정리부터 하고 넘어가도록 하자. C 언어나 C++ 언어에서는 함수(Function)라는 용어를 사용하며, 자바에서는 함수라는 용어 대신 메서드(Method)라는 용어를 사용한다.

□ 함수(Function)와 메서드(Method)에 대한 용어
◇ 자바에서는 함수(Function)를 메서드(Method)라는 용어로 대체하고 있다.
◇ 앞으로 이 책에서는 함수 대신에 메서드라는 용어를 사용할 것이다.

메서드란 여러 개의 작업을 하나로 묶어서 관리할 수 있는 작업의 덩어리이다. 이 작업의 덩어리는 사용자가 필요로 할 때, 해당 작업을 대표하는 이름을 통해서 반복적으로 사용(호출)할 수 있다. 메서드는 두 가지 측면에서 그 역할을 조명해 볼 수 있다. 일만 하는 메서드와 일을 한 후 값을 리턴하는 메서드로 나눌 수 있다.

□ 메서드의 종류
◇ 일만 하는 메서드
◇ 일을 한 후 값을 리턴하는 메서드

간단히 덧셈을 위한 메서드가 있다고 가정하자. 그리고 덧셈을 위한 메서드를 위의 두 가지 측면에서 작성해보자.

▒ 일만 하는 메서드
 
void sumA(int x, int y){
         int c;
         c = x + y;
         System.out.println("c=" + c);
         return; //값을 리턴하지 않고 단순히 끝나 버림
 }

▒ 값을 리턴하는 메서드
 
int sumB(int x, int y){
         int c;
         c = x + y;
         return c; //c의 값을 리턴
 }

일만 하는 메서드의 경우 어떠한 값도 리턴하지 않는다는 이유에서 단순히 return이라고 하였다. 그리고 값을 리턴하지 않기 때문에 void형으로 메서드를 선언하였다.

☞ 리턴(return)
리턴은 메서드의 종료를 의미한다. 메서드를 끝내기 위해서는 메서드 내의 모든 작업을 완료하든지, 아니면 return을 통해서 메서드의 특정 부분에서 작업을 끝내면 된다. return은 값을 가지고 끝낼 수도 있으며, 값을 리턴하지 않고 끝낼 수도 있다. 만약 값을 가지고 리턴한다면 반드시 리턴하는 값의 형을 메서드의 선언부에 명시해주어야 한다. 그리고 값을 리턴하지 않는다면 메서드의 선언부에 void형으로 명시해주면 된다.


메서드를 만들었는데 사용하지 않는다면 쓸모가 없다. 이렇게 만들어진 메서드는 여러분들이 작성하는 소스 코드의 원하는 곳에서 반복적으로 호출할 수 있다. 호출할 때에는 메서드의 이름으로 호출하게 된다. 다음은 메서드의 이름으로 호출하는 예를 보여주고 있다.

▒ 일만 하는 메서드의 호출
 
sumA(3, 4);

sumA()는 일만하기 때문에 호출하면 그 자체로 끝이다. 호출이 한번 이루어진다. 호출한 후 메서드의 작업을 모두 마치면 자동으로 끝이 나게 된다. 현재는 sumA() 메서드의 끝부분에 명시적으로 return을 표시하고 있다. sumA()와 같이 아무것도 리턴하지 않는 경우 return 표시를 생략해도 된다.

sumB()는 다르다. sumB() 메서드는 호출과 동시에 sumB(3, 4) 자체가 변수의 역할을 하게 된다. sumB(3, 4)가 가지는 값은 내부에서 리턴하는 값이 된다.

▒ 값을 리턴하는 메서드의 호출
 
int c = sumB(3, 4);

sumB(3, 4)가 최종적으로 가지는 값은 7이 되며, sumB(3, 4) 자체가 변수의 역할을 하기 때문에 다시 int형 변수 c에 값을 할당하고 있다. 리턴값을 가지는 메서드가 변수의 역할을 한다는 것과 메서드의 매개변수에 대해서는 앞으로 계속 논하게 될 것이다.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
56 Java 1.4.3 정수형과 실수형의 계산 IT장인 2013.11.21 531
55 Java 1.4.4 정수형과 실수형 데이터 타입 IT장인 2013.11.21 593
54 Java 1.4.5 그 외 데이터 타입 IT장인 2013.11.21 68944
53 Java 1.5.1 데이터 타입의 목적 IT장인 2013.11.21 330
52 Java 1.5.2 변수의 의미 IT장인 2013.11.21 387
51 Java 1.5.3 상수의 의미 IT장인 2013.11.21 573
50 Java 1.6.1 데이터 타입과 변수, 상수 IT장인 2013.11.21 446
49 Java 1.6.2 할당의 법칙 IT장인 2013.11.21 380
48 Java 1.6.3 할당의 예 IT장인 2013.11.21 338
47 Java 1.6.4 결론 IT장인 2013.11.21 332
46 Java 2.1.1 핵심 Question IT장인 2013.11.22 290
45 Java 2.1.2 기본 데이터 타입의 한계 IT장인 2013.11.22 336
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6