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 3.4.5 결론 IT장인 2013.12.28 342
55 Java 3.4.4 변수와 메서드의 분리와 결합 IT장인 2013.12.28 446
54 Java 3.4.3 변수와 메서드 결합의 의미 II IT장인 2013.12.28 386
53 Java 3.4.2 변수와 메서드 결합의 의미 I IT장인 2013.12.28 371
52 Java 3.4.1 클래스 내의 메서드 IT장인 2013.12.28 339
51 Java 3.3.7 값복사가 적용되는 곳 IT장인 2013.12.28 399
50 Java 3.3.6 값복사와 매개변수의 전달 IT장인 2013.12.28 460
49 Java 3.3.5 값복사 IT장인 2013.12.28 336
48 Java 3.3.4 리턴과 매개변수 IT장인 2013.12.28 403
47 Java 3.3.3 메서드는 변수다. IT장인 2013.12.28 329
» Java 3.3.2 메서드 IT장인 2013.12.28 314
45 Java 3.3.1 클래스의 구성요소 IT장인 2013.12.28 381
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6