변수(Variable)

sanchez9·2023년 6월 3일
0

JAVA 공부

목록 보기
5/6

변수 (Variable, var)

  • 하나의 데이터(data, 자료)를 저장 할 수 있는 메모리 공간을 의미.
  • 저장된 값은 변할 수 있다.
  • 변수는 2가지를 의미 :
    • 저장공간(주소)
    • 저장되어 있는 주소의 참조값(값)

변수의 종류


1. 기본형 타입(primitive type) 변수

※동의어 : 자바의 기본 자료형

기본형 타입 변수는 실제 연산에 사용되는 변수이며, 계산을 위해 실제 값을 저장한다.

자바에서는 다음과 같이 8가지 종류의 기본형 타입 변수를 제공한다.

  byte    1 byte    2 byte    4 byte    8 byte  
정수형byteshortintlong
실수형floatdouble
문자형char
논리형boolean
  • 비트(bit) : 데이터의 기본 단위 (ex. 1bit)
  • 바이트(byte) : 메모리의 기본단위 (바이트 단위로 저장)

  • 1byte = 8bit (-128~127개의 정수, 256개의 데이터를 담을 수 있다.)
  • 기본 타입 변수는 값을 직접 대입

2. 참조형 타입(reference type) 변수

※동의어 : 객체형 변수, 객체형 타입, object

참조형 타입 변수는 기본형 타입 변수를 제외한 나머지를 말한다. 객체의 주소를 저장하며, null 또는 객체의 주소를 갖는다.

기본적으로 제공하는 클래스, 프로그래머가 스스로 만든 클래스, 배열, 열거 타입 등을 모두 참조형이라고 한다.

  • 배열, 열거, 클래스, 인터페이스
  • Class: 객체를 설계하기 위한 설계도, 사용자 정의 타입
  • 참조 타입 변수는 객체의 주소값을 대입: new
    • new
  • 객체 생성 연산자
    • String str1=new String(”문자열”);
  • 참조형 변수는 null로 초기화 시킬 수 있다.
  • 메모리의 Heap이라는 공간에 실제 값을 저장한다.

변수의 선언 위치

  • 인스턴스 멤버(변수) → 클래스 내
  • 클래스 멤버(변수) → static
  • 지역 변수 → 메서드 안에
  • 매개(인자형) 변수 → 메소드 선언할 때 괄호 안에 들어감 (지역변수)
  • 객체참조 변수 → 객체의 주소값을 저장
  • 데이터 종류
    • 숫자, 문자, 문자열, 이미지… 등등

변수를 사용할때의 공식

  1. 변수를 선언
  2. 초기화
  3. 할당
// 방법 1
int num; // int 형의 데이터 하나를 저장할 수 있는 변수 num을 선언했다.
num=10; // int형 변수 num을 10으로 초기화 했다.

// 방법 2
int num1=10; // int형 변수 num1을 선언하고 10으로 초기화 했다.

변수 명명 규칙

(다른 프로그램 언어도 거의 동일한 규칙을 따름)

  • 키워드(예약어)를 사용 x
  • 숫자로 시작 x
  • 공백 x
  • _ $ 이외의 특수문자 x
  • 대소문자 구분(약속)
  • 소문자로 시작(약속)
  • 다른 문자가 시작되면 대문자로 시작(약속)
  • 한글 사용 안함(약속)
int int=10; // int를 사용하기로 예약이 되어있는데 int를 넣어서 에러
int 1num=10; // 숫자로 시작해서 에러
int num1=10; // 숫자를 뒤에 넣었기 때문에 가능
int num 1=10; // 공백이라 에러
int num@1=10; // _ $ 이외의 특수문자가 들어가서 에러
int num=10; // 가능은 하나, 소문자로 시작하는 것이 개발자 사이의 약속
int NUM5=10; // 가능은 하나, 소문자로 시작하는 것이 개발자 사이의 약속
int startNumber=10; // start 와 number 둘다 문자적인 의미가 있기에 N에 대문자
int 변수1=10; // 한글을 쓴다고 에러가 나지는 않지만, 쓰지 않는 것이 개발자 사이의 약속

int num2nume=10; // 가능
int num_1=10; // 가능
int $num1=10; // 가능
int num=10 // ;이 빠져서 에러

profile
자바를 배우고 있어요

0개의 댓글