으나님의 잡다한 개발상식
(JAVA) 변수 본문
1. 종류
자바에는 네 가지 변수가 있다.
public class Ex05 {
int 인스턴스변수;
static int 클래스변수;
public void method1(int 매개변수) {
int 지역변수;
}
public void method2(int 매개변수){
int 지역변수;
}
1) 지역변수 : 중괄호 내에 선언된 변수. 중괄호 내에서만 유효하다. 따라서 위의 코드에서 method1에 있는 지역변수와 method2에 있는 지역변수는 이름만 같을 뿐 다른 변수이다.
2) 매개변수 : 메소드에 넘겨주는 변수. 메소드가 호출될 때 생명이 시작되고, 메소드가 끝나면 소멸된다.
3) 인스턴스변수(멤버변수) : 메소드 밖에, 클래스 안에 선언된 변수 중 static이 없는 것. 객체가 생성될 때 생명이 시작되고, 그 객체를 참조하고 있는 다른 객체가 없으면 소멸한다.
4) 클래스변수 : 메소드 밖에, 클래스 안에 선언된 변수 중 static이 있는 것. 클래스가 처음 호출될 때 생명이 시작되고, 자바프로그램이 끝날 때 소멸한다.
2. 타입
변수의 타입은 두 가지가 있다.
1) 기본형(8개)
- boolean : 논리형 변수로, true/false 중 하나의 값을 가진다.
- char : 문자형으로 변수당 하나의 문자만 저장할 수 있다.
- byte : 정수형(2진 데이터를 다루는 데 주로 사용)
- short : 정수형(c언어와의 호환을 위해 추가됨)
- int : 정수형(일반적으로 사용)
- long : int보다 더 많은 수를 표현할 수 있는 정수형
- flaot : 실수형
- double : 실수형(일반적으로 사용)
※ c언어는 아스키코드, char은 1byte // 자바는 유니코드, char는 2byte
2) 참조형
- 기본형을 제외한 나머지 변수들이 참조형에 속한다.
- String, System, 배열 등이 있다.
- 객체의 주소를 저장한다.
※ 기본형 변수의 초기값은 0이고 참조형 변수의 초기값은 null이다.
3) 오버플로우(overflow)
기본형 변수 타입에서 표현할 수 있는 범위를 넘을 경우 발생하는 오류이다.
예를들어, byte는 2의 7승까지 표현 가능하지만 1bit는 부호로 쓰므로 127까지만 표현 가능하다.
그런데 byte형으로 127을 넘기는 숫자를 표현할 경우 에러가 발생한다.
byte b = 127;
byte b = 128 //에러
3. 변수명 규칙
일반적으로 첫 단어는 소문자로, 두 번째 단어는 대문자로 시작한다.
ex) mathScore
'JAVA' 카테고리의 다른 글
(JAVA) 예외처리(try-catch) (0) | 2019.11.23 |
---|---|
(JAVA) break와 continue 차이 (0) | 2019.11.23 |
(JAVA) 객체란? (0) | 2019.11.23 |
(JAVA) print구문 (0) | 2019.11.23 |
(JAVA) 객체지향언어와 클래스 (0) | 2019.11.23 |