자바 - 변수란

거북이·2023년 1월 28일
0

java

목록 보기
1/3

문법을 시작하기 전
용어나 원리에 대하여 정리하고자 한다.

변수란

변하는 수를 의미하며 값(숫자)를 의미한다.
이러한 숫자에게 의미를 부여하거나 담는 그릇이 바로 타입이다.

타입이란.

  1. Primitive TYPE
  2. Reference TYPE

이 있지만 이 2개를 설명하기에 많은 사람이 오해를 가진다..
그렇기에 나는 아래의 추가적인 2개의 개념을 더하여 설명하고자 한다.

  1. Object
  2. Instance

1. Primitive TYPE

가장 원시적인 자료 타입이다.
Byte Short char Int Long Float Double과 같은 예약어를 사용하여 표현하며
자료 타입비트의 자리마다 의미Value(값)에 따라서 표현하는 데이터가 다름을 이해하자.

1-1. 정수형 타입

Byte, Short, Int, Long의 타입은 사용하여 자료표현 범위가 2^(N-1)승이다.
이때 왜 "-1"을 하는지 설명하기 위하여 Int를 기준으로 설명하자면.
1Byte는 8Bit이고 Int는 4Byte의 타입으로 총 32Bit의 타입이다.

여기서
각 비트의 의미는 아래와 같다.

Sign비트란 한글로 번역하자면 부호 비트이다.(Cpu의 아키텍처 또는 언어에 따라 다를 수 있다.)
즉 수가 "양의 수"인지 "음의 수"를 구분해주는 비트이다.

예를 들어

이라면 이 값은 1이지만.

이라면 이 값은 -1이다.
이와 같이 Sign Bit와 Data Bit가 나눠져 있으며.
이러한 표현 방식으로 인하여 Data Bit가 하나 줄어들게 되어
음수로는 -(2^(N-1)) ~ 2 ^ (N -1) -1 이라는 자료 표시 범위를 가지게 되는 것 이다.
여기서 왜 양의 정수 부분에서 "-1"을 또 하는가 하는 사람이 있을 것이다..
컴퓨터는 0도 양의 정수로 보기 때문에 표현 범위가 -1이 적다.(정확히 알고 싶다면 보수에 대해서 공부하시오.)

하지만 예외인 자료형이 있는데.
바로 Char 타입이다.
Char타입은 "문자"를 표현하기 위한 "타입"으로 JVM에서는 "UTF-16"이라는 "인코딩"방식을 사용하는데
이 "UTF-16"이라는 인코딩 방식에서는 음수를 쓰지 않으므로.
자료를 표현할때 0 ~ 2^N -1이라는 표현 범위를 가질 수 있다.("-1"인 이유는 위와 같다.)

위와 같이 Primitiv TypeMemory에 직접 값을 담는 Type이라고 할 수 있다.

다음 포스팅에는 실수형 타입을 설명하겠다.

profile
웹, 임베디드 분야가 문제인가? 천천히 다 배워보자.

0개의 댓글