변수의 종류
변수의 종류는 변수 선언 위치에 따라 아래와 같이 나뉜다.
지역변수, 멤버 변수(클래스 변수, 인스턴스 변수)
지역변수
지역 변수는 특정 지역에서만 사용할 수 있는 변수이며, 지역은 코드 블록을 말한다.
자신이 선언된 블록 외에서 자신에게 접근하려고 하면 접근할 수 없다.
ex) if 문 안에서 선언한 변수는 if문 안에서만 사용할 수 있다.
왜 지역 변수인가? 자신의 지역 안에서만 생존할 수 있기 때문이다.
스코프의 표현
스코프 범위가 길다.
스코프가 범위가 짧다.
스코프는 왜 필요한가?
- 비효율적인 메모리 사용을 막기 위함
- 코드 복잡성을 낮추기 위함
- 좋은 코드는 군더더기 없는 단순한 코드임
- 좋은 프로그램은 무한 자유가 있는 프로그램이 아닌 적절한 제약이 있는 프로그램이다.
형변환(캐스팅)
(cast-다른 물질을 녹여 특정 형태나 모양을 만드는 과정)
작은 범위에서 큰 범위로의 값은 허용함
이때, 사용자가 타입을 맞춰주지 않는 경우에는 자바에서 자동으로 형변환을 해줌(묵시적 형변환)
큰 범위의 값을 작은 범위로의 대입은 명시적 형변환이 필요하다. \
이때, 오버플로우 및 소수점 버림을 유의하고, 명시적 형변환을 사용하도록 해야한다.
(명시적 형변환을 한다 하더라도 형변환 하기전의 변수값과 타입은 유지된다. )
타입의 범위
int < long < double
자바에서의 계산
같은 타입끼리의 계산은 같은 타입의 결과를 나타낸다.
서로 다른 타입의 계산은 큰 범위로 자동 형변환이 일어난다.