Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

나의 지식 보관소

로컬 클래스에서 외부 클래스로의 사용제한 본문

프로그래밍 언어/자바

로컬 클래스에서 외부 클래스로의 사용제한

야식은진리다 2020. 2. 20. 17:31

로컬 클래스의 객체는 힙 메모리에 존재하기 때문에 메서드 실행이 끝나도 사라지지 않지만, 매개 변수나 로컬 변수는 스택 메모리에 존재하기 때문에 메서드 실행이 끝나면 사라져버려서 이들을 계속 로컬 객체에서 사용할수 없다.

 

자바는 이러한 문제를 해결하기 위하여 로컬 클래스에서 사용하는 매개 변수나 로컬 변수들의 값을 로컬 클래스 내부에 복사하여 둔다. 그리고 이후 매개 변수나 로컬 변수의 값이 변경되면 로컬 클래스에 복사하여둔 값과 달라져버리기 때문에 매개 변수나 로컬 변수를 final로 선언해서 수정을 하지 못하게 한다.

 

자바 7 이전에는 final로 선언 되지 않은 매개 변수나 로컬 변수를 로컬 클래스에서 사용하면 컴파일 에러가 발생했지만, 자바 8 이후 부터는 컴파일 에러가 발생하는 대신, final로 선언되지 않더라도 final의 특성을 가지게 되었다.

 

 

'프로그래밍 언어 > 자바' 카테고리의 다른 글

예외 떠넘기기  (0) 2020.02.28
자동 리소스 닫기 try-with-resources  (0) 2020.02.26
익명 구현 객체  (0) 2020.02.17
객체 타입 확인 instanceof  (0) 2020.02.15
어노테이션  (0) 2020.02.09