• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

static 관련 질문 드립니다.

24.05.04 11:58 작성 24.05.04 11:58 수정 조회수 98

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

David님의 프로필

David

2024.05.04

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

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

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

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

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

감사합니다.