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

jung님의 프로필 이미지
jung

작성한 질문수

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

정적 중첩 클래스

static 관련 질문 드립니다.

작성

·

283

·

수정됨

0

안녕하세요.

 

 제가 궁금했던 부분은 아래와 같이 static 변수와

static 클래스가 있을 때 차이점입니다.

public class MyMainClass {

public static string test = "test";

}

public class OuterClass { public static class StaticNestedClass {

}

public static 이 변수에 붙으면 서비스전체에서 동일한 변수에 접근을 한다고 이해했는데

StaticNestedClass 클래스 같은 경우는 서비스에서 필요할때마다 생성을 해서 여러개가 존재할 수 있는거 아닌가요?

public static = 시스템 전체에서 같이 사용하는 자원?

이라고 이해한 부분이 잘못된거 같아서 어떻게 이해하면 될지 문의드렸던 부분입니다.

답변 1

0

안녕하세요. jung님, 공식 서포터즈 David입니다.

클래스에 static을 붙였을 때와 변수에 static을 붙였을 때를 구분해 주세요.

앞에 붙는 static은 동일하지만 적용되는 대상이 다르고, 대상이 다름으로 인해 발생되는 효과도 다릅니다.

내부 클래스 중 하나인 정적 중첩 클래스의 경우 외부 클래스 접근없이 정적 중첩 클래스를 바로 생성할 수 있게 됩니다.

클래스의 static 멤버변수의 경우 클래스의 인스턴스들이 해당 변수를 공유하게 됩니다.

감사합니다.

jung님의 프로필 이미지
jung

작성한 질문수

질문하기