static 구문의 이해

Eungi Kim·2021년 1월 14일
0

static은 해당 데이터의 메모리 할당을 컴파일 시간에 할 것임을 의미합니다.

static 멤버 변수

  • 클래스 변수라고도 부릅니다.
  • 모든 해당 클래스는 같은 메모리를 공유합니다.
  • 특정한 인스턴스에 종속되지 않습니다.
  • 인스턴스를 만들지 않고 사용 가능합니다.

static 메소드

  • 클래스 메소드라고도 부릅니다.
  • 오버라이드 불가합니다.
  • 상속 클래스에서 보이지 않습니다.

static 블록

  • 클래스 내부에 만들 수 있는 초기화 블록입니다.
  • 클래스가 초기화될 때 실행되고, main() 보다 먼저 수행됩니다.

static 클래스

  • 일반적인 클래스, 즉 top-level 클래스에 적용하면 문법 오류입니다.
    • 그러나 이것이 top-level 클래스가 static하지 않다는 뜻이 아닙니다.
  • 중첩 클래스(nested class)에만 사용할 수 있습니다.
    • static nested class: static으로 정의된 nested class
    • inner class: static으로 정의되지 않은(non-static) nested class
  • 부모 클래스의 멤버 필드 중에는 static 필드에만 접근할 수 있습니다.
  • 사실상 일반적인 top-level 클래스와 동일하게 동작하지만, 그 위치가 하나의 top-level 클래스 안에 들어있는 것입니다.
    • 이것은 유사한 클래스 집합을 하나로 묶고, 클래스 패키징 구조를 편리하게 정리하는 테크닉으로 사용될 수 있습니다.

static import

  • 다른 클래스에 존재하는 static 멤버들을 불러올 때 사용합니다.
  • 멤버 메소드를 곧바로 사용할 수 있습니다.

Uno's Blog

profile
Run and gun and debugun

0개의 댓글