클래스란 ? 데이터 + 함수를 모아 놓은것.
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를 사용할때는
참조변수.클래스변수명 으로도 사용할수 있지만
클래스명.클래스 변수명으로 사용한다.
'dev > JAVA' 카테고리의 다른 글
[JAVA] 다형성 / 참조변수간의 형변환 (0) | 2022.05.30 |
---|---|
[JAVA] 매개변수(Parameter) , 인수(argument) (0) | 2022.05.30 |
[JAVA] 변수 (0) | 2022.05.30 |
[JAVA] 객체 생성 (0) | 2022.05.29 |
[JAVA] 생성자 맨날 까먹음,,,,...!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (0) | 2022.05.28 |