본문 바로가기

- Java

JAVA 변수, static, final 이론

반응형

Field

  • Field: 클래스에 포함된 변수
    • 멤버 변수: 클래스 변수 + 인스턴스 변수
    • 기본형 변수: 기본 자료형으로 선언
    • 참조 변수: 참조 자료형으로 선언

 


final

→ final 키워드는 엔티티를 한 번만 할당

→ 상속 받는 클래스에서 못쓰게 하고 싶을 때

 

final 변수

→ 해당 변수가 생성자나 대입연산자를 통해 한 번만 초기화 가능함을 의미

→ 상수를 만들 때 응용

 

final 메소드

→ 해당 메소드를 오버라이드 할 수 없음

→ 상속 클래스에서 볼 수 없음

 

final 클래스

→ 해당 클래스는 상속할 수 없음

 


static

→ static 키워드는 해당 데이터의 메모리 할당을 컴파일 시간에 할 것을 의미

→ 전역, 전적의 의미로 사용

→ 생성이 없고, 주소값이 없음(객체와 무관한 키워드)

 

static 멤버 변수

  • 클래스 변수
  • 모든 해당 클래스는 같은 메모리를 공유
  • 특정한 인스턴스에 종속되지 않음
  • 인스턴스를 만들지 않고 사용 가능

     

static 메소드

  • 클래스 메소드
  • 오버라이드 불가능
  • 상속 클래스에서 볼 수 없음

 

static 블록

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

 

static 클래스

  • 일반적인 클래스에 적용하면 문법 오류
  • 중첩 클래스(nested class)에만 사용
    • static nested class: static으로 정의된 중첩 클래스
    • inner class: non-static nested class
  • 부모 클래스의 멤버 필드 중에는 static 필드에만 접근 가능
  • 사실상 일반적인 상위 클래스와 동일하게 동작하지만, 그 위치가 하나의 상위 클래스 안에 포함

 

static import

  • 다른 클래스에 존재하는 static 멤버들을 불러올 때 사용
  • 멤버 메소드를 곧바로 사용 가능
반응형

'- Java' 카테고리의 다른 글