본문 바로가기
dev/JAVA

[JAVA] 클래스

by dev_Step 2022. 5. 30.

클래스란 ?  데이터 + 함수를 모아 놓은것.

 

1. 변수 ? : 하나의 데이터를 저장 할  수 있는 공간

2. 배열 ? : 같은 종류의 데이터를 하나로 저장 할 수 있는 공간

3. 구조체 ? : 서로 관련된 여러 데이터(종류 상관 없이)를 하나로 저장 할 수 있는 공간

4. 클래스 ? : 데이터와 함수의 결합(== 구조체 + 함수)

  -> 서로 관련있는 데이터와 함수를 묶어 놓은 것이 클래스

 

 

클래스 안에서 선언 위치에 따른 변수의 종류

1. 클래스 영역 : iv, cv(static 변수)   

2. 메서드 영역 : lv(local Vailable) 

변수의 종류 선언위치 생성시기
클래스 변수(cv) 클래스 영역 클래스가 메모리에 올라갈 때
인스턴스 변수(iv) 인스턴스가 생성되었을 때
지역변수(lv) 클래스 영역 이외의 영역
(메서드, 생성자, 초기화 블럭 내부)
변수 선언문이 수행 되었을때.

 

인스턴스 변수의 경우는 각각의 인스턴스마다 다르게 설정하여 사용할 수 있으나

위에서 보다시피 t4.HEIGHT, t4.WIDTH를 했는데 t3.HEIGHT, t3.WIDTH 도 바뀐것을 확인 할 수 있다

즉 클래스 변수 (cv)는 클래스 변수로서 모든 인스턴스와 공유하여 사용하는 것을 확인 할 수 있다.

 

따라서 클래스 변수 cv를 사용할때는

참조변수.클래스변수명 으로도 사용할수 있지만

클래스명.클래스 변수명으로 사용한다.