Jeunwork space

this(), static 본문

Java

this(), static

jeunwork 2021. 3. 25. 20:03

this

자기 자신을 가리킬 수 있는 유일한 레퍼런스

 

this()

- 현재 객체의 생성자.

- 주의해야할 점! 생성자의 첫 행에 정의해야한다!! 그렇지 않으면 컴파일 오류 발생

- 한 클래스 내의 특정 생성자에서 오버로딩 되어 있는 다른 생성자를 호출할 수 있다. (현 객체의 또 다른 생성자를 호출 할 수 있다. ) -> 생성자 내에서 중복되는 코드 없앤다.

 

static

- 변하지 않고 메서드 영역에 존재하면서 모든 객체드이 사용할 수 있도록 공유한다. 

- 메서드나 멤버변수에 정의할 수 O / 지역변수나 클래스에게는 정의할 수 X 

 

static 변수

- 객체를 생성하지 않고도 사용할 수 있다. 

- static 변수는 오직 하나만 만들어지고 이를 모든 객체가 공유한다. 

static 변수와 멤버변수(instance 변수) 차이

static 메서드

- static메서드 안에서는 instance 변수 참조할 수 없다!!

static method 예제1

- static변수와 instance변수의 차이

- static변수는 한 공간에서 값을 두고 객체가 생성될 때마다 값의 변화가 일어나지만, instance변수는 객체가 생성되는 공간을 각각 따로 가지기 때문에 값에 변화가 일어나지 않는다. 

 

static 초기화

- static변수에 잘못된 값으로 초기화되는 것을 막고 현재 클래스 내 static변수를 선언하게 하여 프로그램의 신뢰성을 높인다. 

- static이 가장 먼저 실행된다. 

- 변수를 선언하지 않고 값만 줬을 때, 클래스가 끝나기 전 선언해도 문제없다.  

Comments