메서드의 return 타입이 참조형인 경우,
스택의 흐름이 어떻게 되는지 확실히 알고 익숙해져야 한다.
class Data2 {
int x;
}
public class ReferenceReturnEx {
public static void main(String[] args) {
Data2 d = new Data2();
d.x = 100;
Data2 d2 = copy(d);
System.out.println("d.x = " + d.x);
System.out.println("d2.x = " + d2.x);
}
static Data2 copy(Data2 d) {
Data2 tmp = new Data2();
tmp.x = d.x;
return tmp;
}
}
- 해당 코드는 copy라는 메서드의 반환 타입을 Data2로 함으로써, 참조형 타입 반환을 지정한 코드이다.
- 기본형 타입을 반환하는 것 뿐만 아니라, 객체 자체를 반환하는 참조형 타입 반환도 알고 있어야 한다.
- 위 코드를 디버깅 해보면서 스택의 흐름을 생각 해봐야 한다.
'JAVA' 카테고리의 다른 글
12. 생성자, 기본 생성자 (0) | 2022.09.24 |
---|---|
11. static 메서드와 instance 메서드 (0) | 2022.09.20 |
9. 기본형&참조형 매개변수 (0) | 2022.09.20 |
8. 호출스택 (0) | 2022.09.18 |
7. static 변수와 instance변수 (0) | 2022.09.17 |