본문 바로가기
코딩 공부/web & Java

[JAVA] 변수관련

by 현장 2022. 9. 5.

변수 (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