#메쏘드
아래의 예를 보자.
class Test {
public void vartest(int a) {
a++;
}
public static void main(String[] args) {
int a = 1;
Test myTest = new Test();
myTest.vartest(a);
System.out.println(a);
}
}
위 예제의 vartest 메소드는 입력으로 들어온 int 자료형의 값을 1만큼 증가시키는 역할을 한다.
// 그러나 a가 전달되는 것이 아니다.
If you want to change selection, open document below and click on "Move attachment"
5-2 메쏘드는 이 방법은 리턴자료형이 void형인 메소드에만 해당된다. 리턴자료형이 명시되어 있는 메소드에서 return 문만 작성하면 컴파일 시 오류가 발생한다.)
메소드 내에서 선언된 변수의 효력 범위
메소드안에서 사용하는 변수의 이름을 메소드 밖에서 사용한 이름과 동일하게 사용한다면 어떻게 될까? 이런 궁금증이 떠올랐던 독자라면 이곳에서 확실하게 알 수 있을 것이다.
<span>아래의 예를 보자.
class Test {
public void vartest(int a) {
a++;
}
public static void main(String[] args) {
int a = 1;
Test myTest = new Test();
myTest.vartest(a);
System.out.println(a);
}
}
위 예제의 vartest 메소드는 입력으로 들어온 int 자료형의 값을 1만큼 증가시키는 역할을 한다.
main메소드를 순서대로 분석해 보자.
먼저 main메소드에서 a라는 int 자료형의 변수를 생성하고 1을 대입했다. 그리고 vartest 메소드를 입력 값 a를 주어 호출했다. 그 다음에 a의 값을 출력하게 하였다. 당연히 vartest 메소드에서 a의 값을 1만큼 증가시켰으니 2가 Summary
status | not read | | reprioritisations | |
---|
last reprioritisation on | | | suggested re-reading day | |
---|
started reading on | | | finished reading on | |
---|
Details