1. [자바] 변수,자료형 특징
ㅇ 자바 언어는, (Strongly Typed Language)
- 안정성,강건성을 위해 변수 및 자료형에 대한 강한 규제가 존재함
- 예로써,
. 다른 데이터형 변수에 다른 데이터형의 데이터를 넣을 수 없음
. 전역 변수를 지원하지 않는 등 ☞ 변수 종류 참조
ㅇ 또한, 정적 타입 언어로써,
- 변수 선언시에 타입을 반드시 명기하고,
. 컴파일시에 타입의 정합성을 검증 함
- 한편, 동적 타입 언어는, (例, 자바스크립트,Ruby 등)
. 변수 선언시에 타입이 명확하지 않고, 실행시에 비로소 타입이 정해짐
2. [자바] 자료형 구분
ㅇ 기본 자료형 (Primitive Data Type) : 변수 값 저장
- 문자형 : char (2 바이트)
. 컴퓨터 내 문자의 유니코드(UTF-16)에 의해 정수값으로 표현됨
. 때론, 산술 연산이 가능한 정수형으로도 분류되나, 음수값 표현은 불가능
- 정수형 : byte (1), short (2), int (4), long (8 바이트)
. 산술 연산 가능
. 여기서, short (2)은, 위 문자형 char (2)와 바이트 크기는 같으나,
.. 부호가 있어서, 수 표현 범위가 다름 (short (2) : -32768 ~ 32767)
- 실수형(부동소수점형) : float (4), double (8 바이트)
. 산술 연산 가능
- 논리형 : boolean (1 바이트)
. 논리 연산 가능
* 한편,
. 자바 언어는, 자료형 크기(바이트) 자체를 언어에서 직접 고정시킴
. 다른 언어는, 자료형 크기(바이트) 결정을 컴파일러에 맡겨짐
ㅇ 참조 자료형 (Reference Data Type)/추상 자료형 (Abstract Data Type) : 객체 위치 저장
- 클래스형 (Class Type)
. 이미 JDK에서 제공하는 것 : String, Date 등
- 인터페이스형 (Interface Type)
- 배열형 (Array Type)
. 동일 타입 변수들이 나열된 집합
. 배열형 선언 및 초기화 : 자료형 배열명 = {값1,값2,...};
.. 例) 1차원 배열 선언 및 초기화 : int arr[] = new int[3];
.. 例) 다차원 배열 선언 : int[][] arr; 또는 int arr[][];
3. [자바] 자료형별 디폴트 값
ㅇ 숫자 타입 => 0
ㅇ Boolean 타입 => false
ㅇ 참조 자료형 => null
4. [자바] 변수의 종류 (변수가 선언되는 위치에 따라서 구분)
ㅇ 인스턴스 변수 (멤버 필드, 멤버 변수)
- 메소드의 정의문 밖에서 선언되고 정의됨
. 객체의 속성을 나타내거나 이를 정의하는데 쓰임
. 통상, 클래스 정의문 바로 아래(처음 줄)에서 정의됨
- 즉, 어떤 클래스에 소속되어 있는 것
ㅇ 지역 변수 (로컬 변수)
- 메소드 정의 내에서만 의미를 갖게 됨
. 메소드 정의문 안에서 쓰이거나, 메소드 내 블록 구문 안에서도 쓰임
- 즉, 어떤 메소드에 소속되어 있는 것
ㅇ 클래스 변수
- 클래스 구현 객체 각각에서 다르게 적용되는 것이 아니고,
클래스 전체에 걸쳐 동일하게 적용이 되는 변수
- 문법 구문으로 볼 때, 클래스 내부에 static 이라는 키워드와 함께 선언되는 변수