강의

멘토링

로드맵

Inflearn brand logo image

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

yongjun413님의 프로필 이미지
yongjun413

작성한 질문수

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

정적 중첩 클래스의 활용

중첩클래스 static

작성

·

77

0


안녕하세요 . 중첩클래스 관련하여 NetworkMessage를 static으로 중첩클래스로 만들면 외부클래스와 논리적으로 엮인다는것은 이해했습니다. 다만 static영역으로 관리할시 NetworkMessage 안 인스턴스의 값이 공통으로 관리되는 것아닌가여? 즉 content의 값은 매요청마다 동일한 값을 공유하게 되는것 아닌가여??

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

yongjun413님께서 궁금해하신 static 중첩 클래스에 대한 내용을 설명드리겠습니다.

정적(static) 중첩 클래스의 이해:
1. 정적 중첩 클래스: 외부 클래스와 논리적으로 엮여 있지만, 외부 클래스의 인스턴스에 종속되지 않습니다. 이를 통해 외부 클래스의 정적 멤버에 접근할 수 있는 특성을 가집니다.

  1. 인스턴스 변수가 공유되는가?: 정적 중첩 클래스의 경우 클래스 자체는 외부의 영향을 받지 않지만, 이 안의 인스턴스 변수는 각 인스턴스마다 독립적으로 존재합니다. 이는 즉, 각 요청마다 ‘new’ 키워드를 통해 생성된 인스턴스는 서로 별도의 메모리 공간을 가지므로 content 값을 공유하지 않습니다. 따라서, 매 요청마다 각기 다른 content 값을 가질 수 있습니다.

  2. 공유되는 멤버: 만약 static 키워드가 클래스의 필드(변수)에 사용되면, 해당 변수는 모든 인스턴스에서 공유됩니다. 그러나 일반적으로 인슽턴스 변수에 static 키워드는 사용하지 않습니다.

이미 존재하는 관련된 질문과 답변을 참고하여 더 깊이 이해하시려면 아래 링크를 참고해 주세요:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

yongjun413님의 프로필 이미지
yongjun413

작성한 질문수

질문하기