본문 바로가기
Others/학교 공부

클래스와 변수

by 언니팬더 2013. 3. 20.

클래스는 데이터와 함수의 결합이다.
변수 - 하나의 데이터를 저장할 수 있는 공간
배열 - 같은 종류의 여러 데이터를 하나의 집합으로 저장할 수 있는 공간
구조체 - 서로 관련된 여러 데이터를 종류에 관계없이 하나의 집합으로 저장할 수 잇는 공간
클래스 -  데이터와 함수의 결합 (구조체 + 함수)

클래스는 사용자정의 타입이다.
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