본문 바로가기
JAVA

JAVA - static / non-static

by whitedeveloper 2022. 12. 17.

#.static 멤버

-클래스 멤버라고도 부름 - 클래스당 하나씩 생겨서

-객체를 생성하지 않고 사용할 수 있는 멤버

-클래스당 하나만 생성되는 멤버로서 동일한 클래스의 모든 객체들이 공유

-main()메소드가 실행되기 전에 이미 생성

static멤버를 객체의 멤버로 접근 - 결과 : 5
static 멤버를 클래스 이름으로 접근 - 결과 : 10

#.non-static 멤버

-인스턴스 멤버라고도 부름 - 객체마다 생성한다고 해서

-객체가 생길 때 객체마다 생성, 다른 객체와 공유x

-객체가 사라지면 non-static 멤버도 함께 사라져 접근 불가

 

#.static의 활용

-전역변수와 전역함수 만들 때 사용

-공유 멤버를 만들고자 할 때 사용

static 멤버를 가지는 Calc 클래스 작성 결과 : 5 10 -8

 

#.static 메소드의 제약조건

-static 메소드는 static 멤버만 접근할 수 있다. -객체 없이도 존재하기 때문에 객체와 함께 생성되는 non-static멤버는 사용X

 

-static 메소드는 this사용할 수 없다. - 객체 없이도 존재하기 때문

'JAVA' 카테고리의 다른 글

JAVA - 캐스팅(casting)  (0) 2022.12.19
JAVA - final  (0) 2022.12.17
JAVA - 접근지정자  (0) 2022.12.16
JAVA- 생성자  (0) 2022.12.14
JAVA - 객체지향  (0) 2022.12.14