본문 바로가기

JAVA

[JAVA] 변수선언과 할당


1. 변수(Variable)

  • 데이터를 저장할 메모리 공간의 이름(symbol)입니다.

2. 자료형(Data Type)

  • 변수의 크기와 변수에 저장될 데이터의 종류를 결정하는 것입니다.

 

Symbol Table(변수목록표)


변수가 기억공간을 할당 받으면 변수의 번지가 등록되는 테이블입니다.

symbol table을 거쳐 memory에 접근합니다.

symbol table에 변수가 없으면 can not find symbol 에러가 발생합니다.

 

 

사용자 설정 자료형


예를 들어 책(Book)을 데이터화 하고 싶다고 가정합니다.

하지만 책(Book)은 자바에서 제공해주는 자료형이 아니기 때문에 직접 만들어 주어야 합니다.

 

우선, 책을 구성하고 있는 것들을 생각해 봅니다.

1. 책 

2. 가격

3. 회사

4.페이지

등이 있을 것이라고 가정해봅니다.

 

이것을 만들기 위해서는 Book이라는 클래스를 따로 만들어야 합니다. (새로운 자료형을 만들었다고 합니다)

 

String, int와 같은 자바에서 제공해주는 기본 자료형입니다.

위에서 말했듯이 변수는 각각의 기억공간을 가지고 있는데, 책(Book)과 같이 변수들을 한꺼번해 모아는 경우의 구조는 이렇습니다.

이렇게 기억공간 여러개를 하나의 구조로 붙여놓으면 이것을 객체라고 합니다.

그래서 객체를 설계한다는 것은 클래스로 설계한다는 의미입니다.

 

그리고 이것을 VO( Value Object = 한개의 구조로 설계되어 있음) 혹은 DTO( Data Transfer Object = 이동할 수 있는 객체)라고도 할 수 있습니다.

 

기본 자료형과 사용자정의 자료형 기억공간의 차이점


기억공간이 하나만 만들어지는 기본 자료형 a와 달르게

객체를 저장하고 있는 변수인 b(Book)와 같은 경우에는 번지수를 지정하고 해당 번지수에 여러 변수들이 포함되어 있습니다.

 

메모리에 저장되어있는 Book을 인스턴스라고 하며, 그것을 가리키는 b를 인스턴스 변수 혹은 객체 변수 혹은 객체 라고 합니다.