인프런 커뮤니티 질문&답변

장영재님의 프로필 이미지
장영재

작성한 질문수

김영한의 실전 자바 - 중급 1편

문제와 풀이2

Book class 를 static으로 만드는 이유

작성

·

322

1

[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)

[질문 내용]
Book class 를 static 으로 만들었는데...

Book class 에서 Library class 의 멤버변수에 접근 할 있이 없는 경우는 무조건 static 으로 만드면 되는건가요...?

답변 1

2

안녕하세요. 장영재님, 공식 서포터즈 코즈위버입니다.

내부클래스의 경우 가급적 static 으로 선언하여 사용하는것이 좋습니다.

자바에서는 생성한 인스턴스가 필요없어질 경우 이를 주기적으로 삭제하게 되는데 이를 G.C(Garbage Collection)이라고 합니다. 내부클래스 사용은 쓸모없는 인스턴스를 G.C 대상에서 제외할 위험이 있습니다.

이 외에도 메모리 크기를 더 차지하는 등의 문제가 있습니다.

감사합니다.

내부 클래스를 static으로 생성하면 이 내부 클래스는 메서드 메모리 영역에 만들어져 GC 대상에 들어가지 않는 다는 것이죠?

장영재님의 프로필 이미지
장영재

작성한 질문수

질문하기