20210622 TIL

김진태·2021년 6월 22일
1

TIL

목록 보기
8/28

변수란?

기억장치에서 그 내용물이 변할 수 있는 하나의 저장 장소를 추상화한 것이라고 한다.

이게 무슨 뜻일까?

int num = 10

을 예로 들어보았을 때

int = 변수의 자료형
num = 값을 대표하는 문자
10 =

라고 할 수 있겠다.

변수는 두종류로 구분지을 수 있다.먼저 데이터 타입(자료형)에 따른 구분으로는 기본형 변수와 참조형 변수로 나눈다.

기본형 변수 (Primitive Data Type)

시스템/컴파일러/인터프리터 등이 직접 제공하는 데이터형
즉, 시스템/컴파일러에 의해, 바로 해석될 수 있는 단순한 구조의 자료형으로 주로, 산술연산(+,-,*,/), 비교연산 등의 처리 위주

  • 숫자형
     - 정수형 : int, short, long 등의 자료형
     - 실수형 : float, double, long double 등의 자료형
  • 문자형
    - char : 변수에 하나의 문자 만 저장 가능 
    
  • 논리값형
     boolean (1byte) // true,false (통상 기본형은 false)

기본 자료형의 특징

  • 기본 자료형의 저장 크기 결정

    • 대부분의 컴파일러가 알아서, 상수값을 보고, 적당한 자료형으로 메모리 할당
  • 기본 자료형의 취급

    • 통상, 일단 값이 주어지면(할당되면,초기화되면),
      요구시까지, 변경 않는 상수형 변수 로써 취급됨

참조 자료형 (Reference Data Type)

변수 선언과 메모리 생성이 분리되는 데이터형
즉, 변수 선언시, '해당 변수 값이 생성되어 저장되는 메모리의 주소'에 대한 참조가 이루어짐

  • 기본형을 제외한 나머지 타입. String , StringBuffer ,List등 혹은 개인이 만든 클래스도 참조형 타입이 가능

참조 자료형의 특징

이들을 조작할 때는 사실상 해당 데이터 자체를 직접 조작하는 것이 아니라, 그에 대한 참조를 통해 조작하는 것임 만일, 생성된 저장 공간에 대한 참조가 없어지면, 후에 가비지 컬렉션에 의한 소멸 과정을 겪게됨 통상, 참조 카운트(Reference Count)가 0가 되면 가비지 컬렉터가 해당 메모리를 비우게 됨

profile
안녕!

0개의 댓글