article thumbnail image
Published 2021. 12. 10. 17:49
728x90

 

static - keyword

자바에서 엄청 중용한 언어입니다.~

static 이란 -

변수와 메서드에 적용되는 키워드 입니다. 

객체가 없어도 참조 가능하다.

static 제한자는 지정된 변수와 메서드를 객체와 무관하게 만들어주기 때문에 this를 가질수 없습니다.

static메서드는 non static 메서드로 재정의(overriding) 될수 없습니다.

대표적인 static메서드는 애플리케이션 main()메서드 입니다. 

 

 

정적변수 -

클래스들과 공유하는 변수이다.

2번째 특징 클래스 밖에 1개

객체 생성없이 클래스 이름 변수명으로 바로 접근 가능하다.

변수에 붙는 경우 1)공유변수 2)클래스 이름만으로 참조

ex) 다른 두개의 계산기에도 같은값을 얻을수있다.(PI값)

"static 하나로 완전히 다른 키워드 생성"

 

- 정적 변수는 객체를 만들어 참조할 수도 있지만, 객체를 만들지 않고 클래스 이름만 으로도 참조가 가능하기 때문에 이를 "클래스 변수"라고도 부릅니다

 

대표적인 static 변수는 Math.PI 

 

정적 메서드

 

static 메서드는 static변수와 마찬가지로 해당 클래스의 객체 생성 없이도 참조가 가능하게 해줍니다.

 

Static 메소드 안에서는 static 멤버만 사용가능

 

 

정적초기화

정적 초기화자는 static 변수들의 초기화에 사용합니다. 일반 멤버변수는 생성자에서 초기화 하지만 static변수는 객체 생성 없이도 사용해야 하므로 생성자를 통해 초기화 할수 없습니다.

 

그래서 static 변수는 정적 초기화자를 통해 초기화를 합니다.

 

정적 초기화자는 클래스가 로딩될 때 생성자와 main()메서드에 앞서 오직 단 한번만 실행 되서 

반드시 한번만 실행되어야 할 로직을 사용한다.

 

 

정말 중요한거니 이거는 외웁시다~ !! 

728x90

'lecture' 카테고리의 다른 글

Abstract  (0) 2021.12.10
Final  (0) 2021.12.10
다형성  (0) 2021.12.09
클래스 상속  (0) 2021.12.08
Day5 - Method  (0) 2021.12.05
복사했습니다!