변수 (Variable)
하나의 값을 저장할 수 있는 메모리 공간
변수의 선언과 사용
type var_name;
// 예시
int age;
// 사용법
age = 10; // 변수 타입과 입력 값의 타입이 같아야 한다.
데이터 타입
1. 기본(원시: primitive) 타입
정수, 실수, 문자, 논리 리터럴 등 실제 데이터 값을 저장하는 타입
값의 종류 | 기본 타입 | 메모리 사용 크기 | 저장되는 값의 범위 | |
정수 | byte | 1 byte | 8 bit | -128 ~ 127 |
정수 | char | 2 byte | 16 bit | '\u0000' ~ '\uFFFF' (16비트 유니코드 문자 데이터) |
정수 | short | 2 byte | 16 bit | -32768 ~ 32767 |
정수 | int | 4 byte | 32 bit | -2147483648 ~ 2147483647 |
정수 | long | 8 byte | 64 bit | -9223372036854775808 ~ 9223372036854775807 |
실수 | float | 4 byte | 32 bit | 1.4E-45 ~ 3.4028235E38 |
실수 | double | 8 byte | 64 bit | 4.9E-324 ~ 1.7976931348623157E308 |
논리 | boolean | 1 byte | 8 bit | true 또는 false |
2. 참조(Reference) 타입
기본 타입을 제외한 타입으로, 객체의 주소를 저장하는 타입, Java에서 실제 객체는 JVM 힙 영역에 저장되며, 참조 타입 변수는 실제 객체의 주소를 JVM 스택 영역에 저장한다.
Person p = new Person();
// p라는 이름의 메모리 공간이 스택 영역에 생성되고, 생성된 p의 인스턴스는 힙 영역에 생성된다
String s;
// 예외적으로 원시 타입과 비슷하게 사용
배열 타입
같은 타입의 데이터를 연속된 공간에 저장하는 자료구조로 각 데이터 저장 위치는 인덱스 부여해 접근합니다.
장점
- 중복된 변수 선언 줄이기 위해 사용
-
반복문 이용해 요소들을 쉽게 처리
new 연산자로 배열 생성
-
배열 생성시 값 목록을 가지고 있지 않음
-
향후 값들을 저장할 배열을 미리 생성하고 싶을 경우
※ 배열의 길이를 알아내는 함수 : array.lenth
※ 향상된 for문
-
배열 및 컬렉션(15장에서 다룸)의 항목 요소를 순차적으로 처리
-
인덱스 이용하지 않고 바로 항목 요소 반복
열거 타입
한정된 값만을 갖는 데이터 타입으로 한정된 값은 열거 상수(Enumeration Constant)로 정의합니다.
한정된 값인 열거 상수 정의
-
열거 상수 이름은 관례적으로 모두 대문자로 작성
-
다른 단어가 결합된 이름일 경우 관례적으로 밑줄( _ )로 연결
열거 타입 변수
- 열거 타입 변수 선언
-
열거 상수 값 저장 - 열거 타입 변수값은 열거 상수 중 하나
- 열거 타입 변수는 참조 타입 - 열거 타입 변수는 참조 타입이므로 null 값 저장 가능
열거 객체의 메소드
-
열거 객체는 열거 상수의 문자열을 내부 데이터로 가지고 있음
-
열거 타입은 컴파일 시 java.lang.Enum 클래스를 자동 상속→열거 객체는 java.lang.Enum 클래스의 메소드 사용 가능
변수 종류 | 선언 위치 | 생성 시기 |
클래스 변수 (Class Variable) | 클래스 영역 | 클래스가 메모리에 올라갈 때 |
인스턴스 변수 (Instance Variable) | 클래스 영역 | 인스턴스가 생성될 때 |
지역 변수 (Local Variable) | 클래스 영역 이외 영역 (매서드, 생성자, 초기화 블록 내부) |
변수 선언문이 수행되었을 때 |
지역 변수 (Local Variable)
→ 함수 속에 선언하여 해당 함수 안에서만 사용 가능한 변수
전역 변수 (Global Variable)
→ 함수 밖에 선언하여 클래스 전체에서 사용 가능한 변수
인스턴스 변수 (Instance Variable)
→ 객체가 생성될 때 시작 해당 객체를 참조하는 객체가 없을 때 소멸
클래스 변수 (Class Variable)
→ 클래스가 처음 호출될 떄 시작하여 프로그램이 끝날 때 소멸 (자주 사용되고 변함 없는 자료일 경우 클래스 변수에 선언)
매개 변수 (Parameters)
→ method가 호출될 때 시작, method가 끝날 때 소멸
public class Test {
int globalVar = 0; // 전역 변수
int static classVar; // 클래스 변수
public static void main(String[] args) {
User u01 = new User(); // 인스턴스 변수
// main 내부
}
public void method(int parameter) { // 매개 변수
int localVar;
// method 내부
}
}
'코딩 공부 > web & Java' 카테고리의 다른 글
시멘틱 태그 (0) | 2022.09.07 |
---|---|
HTML(Hyper Text Markup Language)관련 (0) | 2022.09.07 |
데이터 베이스 설계 (0) | 2022.09.02 |
스키마 (0) | 2022.09.02 |
JOIN문, JOIN 종류 (0) | 2022.09.02 |