JAVA - 변수

뫄뫄(ahk)·2022년 9월 7일
0

JAVA

목록 보기
7/7

이 게시글은 남궁성님의 JAVA의 정석 3판과 유투브를 보고 정리한 내용입니다.

변수란?

변수는 하나의 값을 저장할 수 있는 메모리공간이다.

여기서 '메모리'란 RAM을 말한다.

RAM은 1byte 단위로 데이터를 저장하며, 물리적으로 연속된 저장공간처럼 다룬다. 연속된 번호로 각 메모리 공간에 이름을 붙이는데 이를 메모리 주소라고 한다.
메모리 주소는 사람이 기억하기 어렵기 때문에 구별하기 쉬운 이름을 붙여서 메모리 공간에 값을 쓰기, 수정, 삭제 등을 하는데 이때 그 이름을 변수라고 한다.

변수의 선언, 값 저장

메모리에 데이터를 저장하고 사용하기 위해서는 먼저 변수를 선언하고 값을 저장해야한다.

  1. 변수의 선언
    메모리에 값을 저장할 공간을 마련하기 위해서 변수를 선언한다.
	int year;
  1. 변수에 값을 저장하기
    값을 저장하는 것을 변수의 초기화라고도 하는데, 초기화는 변수에 처음으로 값을 저장하는 것을 말한다.
    메모리는 프로그램들이 공유하는 자원이기 때문에 기존 메모리 공간을 사용하려면, 그곳에 저장되어있는 알 수 없는 값에 새로운 값을 덮어 씌워야한다. 인스턴스 변수, static 변수는 각 타입의 기본값으로 자동 초기화가 되지만, 메서드 내에 선언되는 로컬변수는 그렇지 않기 때문에 반드시 수동 초기화를 해줘야한다.
    //변수의 선언 
    int age;
    //변수에 값 저장
    age = 19;
	
    //두 개 한 번에 하기
    int age = 19;

변수의 값 읽어오기

int birthYear = 0, age = 10;
year = 2022 - age;
year = 2022 - 10;   //변수가 값으로 변한다.
year = 2012;

변수의 타입

변수는 하나의 값을 저장할 수 있는 메모리 공간이라고 했다. 하지만 그 공간에 모든 값을 저장할 수 있는 것은 아니다.

int year = 2021;
year = 'year';  //에러 발생

저장할 값의 타입과 변수의 타입을 일치시켜야한다.
가장 기본이 되는 저장할 데이터 타입은 총 8개로 분류할 수 있다.

  • 문자 : char ('a', '1', '')

  • 숫자
    정수 : byte, short, int, long(가장 많이 쓰이는 정수는 데이터의 크기와 용도에 따라 타입을 선택하면 된다. 프로그래밍에서 메모리의 효율적인 사용을 중요하게 생각하는 것을 정수 타입의 갯수를 통해 알 수 있다.)
    실수 : float, double

  • 논리 : boolean(true, false)

변수, 상수, 리터럴

  • 변수는 하나의 값을 저장할 수 있는 공간
    파란색은 변수, 공간에 저장된 값을 수정할 수 있다.

  • 상수는 값을 한번만 저장할 수 있는 공간
    초록색은 상수 값을 한 번만 할당할 수 있어 수정이 불가하다. 원래는 상수의 선언과 동시에 초기화를해야했지만, 지금은 분리할 수 있다. 하지만 동시에 초기화를 하는 것이 바람직하다. 실수를 덜 수 있으니까.

  • 리터럴은 값 그 자체

문자와 문자열

String str = ""; //OK
char ch = ''; //error

문자열의 + 연산은 연산의 방향이 왼쪽 -> 오른쪽 이기 때문에
문자열의 위치에 따라 연산의 결과가 달라질 수 있다.

String result = ""+7+1;    //"71"
String result2 = 7+1+"";   //"8"

기본형과 참조형

기본형

  • boolean, char, byte, short, int, long, float, double(단 8개)
  • 실제 값을 저장

참조형

  • 기본형을 제외한 나머지(ex. String)
  • 메모리 주소를 저장(4byte 또는 8byte 길이의 주소)
profile
NONONONONONOYes!

0개의 댓글

관련 채용 정보