클래스는 데이터와 함수의 결합이다.
변수 - 하나의 데이터를 저장할 수 있는 공간
배열 - 같은 종류의 여러 데이터를 하나의 집합으로 저장할 수 있는 공간
구조체 - 서로 관련된 여러 데이터를 종류에 관계없이 하나의 집합으로 저장할 수 잇는 공간
클래스 - 데이터와 함수의 결합 (구조체 + 함수)
클래스는 사용자정의 타입이다.
Ex> 문자열 클래스
c언어는 기본형에 문자열이 있으나 자바언어에서는 문자열이 클래스 선언이 되어있다. 문자가 들어가는 데이터와 문자의 길이를 제거나 중간내용을 삽입하는 등의 함수는 밀접한관계가 있기 때문에 클래스로 엮어 놓았다.
변수
멤버변수 = 클래스변수 + 인스턴스변수
지역변수 = 멤버변수를 제외한 나머지 변수
변수의 종류를 결정짓는 중요한 요소는 '변수의 선언된 위치'이므로 변수의 종류를 파악하기 위해서는 변수가 어느영역에 선언되있는지 확인하는 것이 중요하다
변수의 종류 |
선언 위치 |
생성시기와 특성 |
클래스 변수(class variable)=공유변수 |
클래스 영역 |
클래스가 메모리에 올라갈 떄 >>인스턴스변수 앞에 static(전역변수)울 붙이기만 하면 된다. 모든 인스턴스가 공통된 저장공간(변수)을 공유하게 된다.인스턴스를 생성하지 않고도 언제라도 바로 사용할 수 있다. 클래스가 로딩되어 종료될때까지 유지된다.[ 객체 생성 없이 '클래스변수.클래스변수'로사용가능] |
인스턴스 변수(instance variable) | 클래스 영역 |
인스턴스가 생성되었을 때 >>독립적인 저장공간을 가지므로 서로다른 값을 가질 수 있다. 인스턴스마다 고유한 상태를 유지해야 하는 속성의 경우 인스턴스변수로 선언한다 |
지역 변수(local variable) |
클래스 영역 이외의 영역 (메서드,생성자,초기화 블럭 내부) |
변수 선언문이 수행되었을 때 >>메서드나 블럭 내에 선언되어 메서드 내에서만 사용가능하며, 메서드가 종료되면 소면되어 사용할 수 없다. |
인스턴스변수는 인스턴스가 생성됭떄 마다 생성되므로 인스턴스마다 각기 다른 값을 유지할 수 있지만, 클래스 변수는 모든 인스턴스가 하나이 저장공간을 공유하므로, 항상 공통된 값을 갖는다.
'Others > 학교 공부' 카테고리의 다른 글
재귀호출 (0) | 2013.03.22 |
---|---|
기본형 매개변수와 참조형 매개변수 (0) | 2013.03.22 |
객체와 클래스-1 (0) | 2013.03.19 |
자바 개발환경 구축하기 (1) | 2013.03.18 |
자바언어의 특징 (0) | 2013.03.18 |