본문 바로가기
진행중인 학습/자바의 정석_학습

자바의 정석_기초편 CHAPTER 6 中 20 ~ 25 (230818)

by 트레비봄 2023. 8. 18.
728x90
자바의 정석_기초편 CHAPTER 6 中 20 ~ 25 (230818)

6-20. return 문.

return 문현재 실행중인 메서드를 종료 후 호출한 메서드로 되돌아간다. 

반환값의 유무에 관계없이 모든 메서드에는 적어도 하나의 return문이 있어야 하지만 반환타입이 void 인 경우, return 문 없어도 아무런 문제가 없었던 이유는 컴파일러가 메서드의 마지막에 ' return;  ' 을 자동적으로 추가해주었기 때문.

6-21. 반환값.

return 문의 반환값으로 주로 변수가 오긴 하지만 항상 그런 것은 아니다. 수식이 반환되는 것은 아니고, 이 수식을 계산한 결과가 반환됨.

6-22. 호출 스택 (call stack)

호출스택 메서드의 작업에 필요한 메모리 공간을 제공한다.

메서드가 호출되면, 호출 스택에 호출된 메서드를 위한 메모리가 할당되며, 이 메모리는 메서드가 작업을 수행하는 동안 지역변수(매개변수 포함) 들과 연산의 중간 결과 등을 저장하는데 사용됨. 그리고 메서드가 작업을 마치면 할당되었던 메모리 공간은 반환되어 비워짐.

호출스택의 특징

1. 메서드가 호출되면 수행에 필요한 만큼의 메모리를 스택에 할당받는다.

2. 메서드가 수행을 마치고나면 사용했던 메모리를 반환하고 스택에서 제거된다.

3. 호출스택의 제일 위에 있는 메서드가 현재 실행 중인 메서드이다.

4. 아래에 있는 메서드가 바로 위의 메서드를 호출한 메서드이다.

6-23, 24. 기본형 매개변수와 참조형 매개변수.

매개변수의 타입이 기본형(primitive type) 일 때는 기본형 값이 복사되지만, 참조형(reference type) 이면 인스턴스의 주소가 복사된다.

메서드의 매개변수가 기본형으로 선언하면 단순히 저장된 값만 얻지만, 참조형으로 선언하면 값이 저장된 곳의 주소를 알 수 있기 때문에 값을 읽어 오는 것은 물론 값을 변경하는 것도 가능함.

기본형 매개변수 : 변수의 값을 읽기만 할 수 있다. (read only)

참조형 매개변수 : 변수의 값을 읽고 변경할 수 있다. (read & write).

6-25. 참조형 반환타입.

매개변수 뿐만 아니라 반환타입도 참조형이 될 수 있다. 반환타입이 참조형 이라는 것은 반환하는 값의 타입이 참조형이라는 이야기지만, 모든 참조형 타입의 값은 '객체의 주소' 이므로 그저 정수값이 반환되는 것일 뿐 특별할 것도 없다.

 

230818 학습.

 

 

728x90