Contents

Java
2013.12.28 09:26

3.3.3 메서드는 변수다.

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

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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


3.3.3 메서드는 변수다.

메서드의 역할에 대해서 다시 한번 따져 보자. 메서드는 완벽하게 변수의 역할을 할 수 있다. 다음의 코드를 보면 변수 a도 7의 값을 가지며, sumB(3, 4) 또한 7의 값을 가지고 있다.

▒ 변수와 메서드의 할당 I
 
int a = 7;
sumB(3, 4);

무엇이 다른 것일까? 둘 다 7의 값을 가지고 있으며 변수로서의 역할을 한다. 다음의 경우 변수 a와 변수 sumB(3, 4)가 변수의 역할을 하는 예를 보여주고 있다.

▒ 변수와 메서드의 할당 II
 
int a = 7;
int b = a;
int c = sumB(3, 4);

분명한 것은 a도 7의 값을 가지며, sumB(3, 4) 또한 7의 값을 가진다는 것이다. 그리고 a도 완벽한 변수로서의 기능을 하며, sumB(3, 4)도 완벽하게 하나의 변수 역할을 한다는 것이다. 이것은 할당의 방법을 따져보면 쉽게 알 수 있다.

다음의 경우는 기본 데이터 타입 변수와 메서드 변수의 값을 재할당하는 방법을 보여주고 있다.

▒ 변수의 재할당
 
int a = 7;
a = 10;

▒ 메서드의 재할당
 
int c = sumB(3, 4);
c = sumB(5, 5);

일반 변수와 리턴값을 가지고 있는 메서드의 차이점은 할당의 방법에 있다.

기본 데이터 타입의 변수에 값을 할당하는 방법은 직접할당을 원칙으로 하고 있다. 그러나 sumB()에서는 간접할당을 원칙으로 하고 있다. 즉 sumB()에서는 매개변수라는 것을 통해서 메서드 내부로 값을 전달하고, 메서드 내부에서 만들어 낸 값을 리턴함으로써 값이 결정된다. 결과적으로 메서드는 간접할당을 기본으로 하는 것이다.

□ 기본 데이터 타입 변수와 메서드의 차이점
◇ 기본 데이터 타입 변수는 직접할당을 원칙으로 한다.
◇ 메서드는 간접할당을 원칙으로 한다.

리턴값을 가진 메서드는 호출과 동시에 그 자체가 변수의 역할을 할 수 있다.

☞ 참고
Beginner에게 메서드는 정말 어려운 존재이다. 메서드를 아예 변수로 보는 것은 정말 좋은 아이디어이다. sum(3, 4)를 메서드의 호출이라고 볼 수도 있지만 sum(3, 4)를 변수로 보면 정말 많은 것을 깨달을 수 있다. sum(3, 4) 또한 하나의 메모리가 되는 것이다. 결국에는 메서드도 호출이 끝난 이후에는 하나의 메모리를 갖기 때문에 sum(3, 4)가 변수가 되는 것이다. sum(3, 4) 자체가 변수가 되며 변수의 이름은 고정적인 것이 아니라 매개변수에 따라서 변하게 된다.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
68 Java 3.1.2 Introduction IT장인 2013.12.28 242
67 Java 3.1.1 핵심 Question IT장인 2013.12.28 277
66 Java 2.1.1 핵심 Question IT장인 2013.11.22 290
65 Java 2.4.3 결론 IT장인 2013.11.22 302
64 Java 2.1.5 클래스로 가는 길목 IT장인 2013.11.22 314
63 Java 2.3.5 클래스와 메모리 IT장인 2013.11.22 314
62 Java 3.3.2 메서드 IT장인 2013.12.28 314
» Java 3.3.3 메서드는 변수다. IT장인 2013.12.28 329
60 Java 1.5.1 데이터 타입의 목적 IT장인 2013.11.21 330
59 Java 1.6.4 결론 IT장인 2013.11.21 332
58 Java 2.2.1 클래스 만들기 IT장인 2013.11.22 333
57 Java 2.1.2 기본 데이터 타입의 한계 IT장인 2013.11.22 336
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6