-
자바의 변수(variable)에 대해서자바 2021. 3. 10. 14:48
변수 선언
- 메모리의 빈 공간에 변수타입에 알맞은 크기의 저장공간이 확보되고, 앞으로 이 저장공간은 변수이름을 통해 사용할 수 있게 된다.
ex)int i;
변수 초기화
- 메모리는 여러 프로그램이 공유하는 자원이므로 전에 다른 프로그램에 의해 저장된 '알 수 없는 값'이 남아있을 수 있기 때문에 변수 사용전에 초기화를 해야한다.
클래스변수와 인스턴스변수는 초기화를 생략할 수 있지만 지역변수는 사용되기 전에 초기화를 반드시 해야한다.
ex)int i = 1;
기본형 변수와 참조형변수
- 기본형변수는 실제 값을 저장하는 반면, 참조형 변수는 어떤값이 저장되어 있는 주소를 값으로 갖는다.
자바는 C언어와 달리 참조현 변수 간의 연산을 할 수 없으므로 실제 연산에 사용되는 것은 모두 기본형 변수이다.
ex) int i = 1; Date today = new Date();
객체를 생성하는 new의 결과는 생성된 객체의 주소이다. 이 주소가 참조형변수에 저장되는 것이다.
Int 타입의 변수는 대략 10자수(약 20억, 2,000,000,000)의 값을 저장할 수 있으므로 7~9자리의 수를 계산할 때는 long타입(약19자리)로 변수를 선언하는 것이 좋다.
상수
- 값을 한번 저장하면 변경할 수 없는 저장공간.
변수와 마찬가지로 값을 저장할 수 있는 공간이지만, 변수와 달리 한번 값을 저장하면 다른 값으로 변경할 수 없다.
선언 방법은 단지 변수의 타입 앞에 'final'키워드를 붙여주면 된다.
상수는 반드시 선언과 동시에 초기화해야 하며, 그 후 부터는 상수의 값을 변경하는 것이 허용되지 않는다.
상수의 이름은 모두 대문자로 하는 것이 암묵적인 관례이며, 여러 단어로 이루어져잇는 경우 '_'로 구분한다
ex) final int FINAL_INT = 1;
리터럴
- 우리가 기존에 알던 상수
형변환
- (타입)피연산자
double d = 85.4; int score = (int)d;
기본형에서 boolean을 제외한 나머지 타입들은 서로 형변환이 가능하다.
그리고 기본형과 참조형간의 형변환은 불가능하다.
큰 타입에서 작은타입으로의 변환하는 경우에는 값손실이 일어난다.
정수형과 실수형 간의 형변환
- 실수형에서 정수형으로 변환하면, 실수형의 소수점이하 값은 버려진다.
자동형변환
- 서로 다른 타입의 변수간의 연산은 형변환을 하는 것이 원칙이지만, 값의 범위가 작은 타입에서 큰 타입으로의 형변환은 생략할 수 있다.
남궁성,『Java의 정석』,도우출판