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
번호 분류 제목 글쓴이 날짜 조회 수
56 Java 3.4.5 결론 IT장인 2013.12.28 343
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 341
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 337
48 Java 3.3.4 리턴과 매개변수 IT장인 2013.12.28 403
» Java 3.3.3 메서드는 변수다. IT장인 2013.12.28 329
46 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