반응형
※ 포스팅에서 사용된 그림 등을 퍼가시거나 기타 자료로 활용 하셔도 괜찮지만, 출처 표기 부탁 드립니다.

 

자바의 기본형 변수, 비트와 바이트, 자바 메모리(Java Data Type, Primitive Type, bit, byte, Java Memory Stack/Heap/Static)

자바에서의 자료형은 아래 그림과 같이 기본형(Primitive Type) 변수와 참조형(Reference Type) 변수로 나눠지는데, 이번 포스팅에서는 기본형 변수에 대해 다룹니다.

 

A. 기본형 변수의 특징1 - 고정된 데이터 크기(byte)를 가지고 있음

 

 

B. 비트(bit)와 바이트(byte)의 이해

위의 그림에서 바이트는 자료형의 크기를 의미하게 되며 이를 이해하기 위해서는 비트(bit)와 바이트(byte)를 이해할 필요가 있습니다.

  1. 비트(bit) : 비트는 컴퓨터에서 데이터를 표현하기 위한 최소한의 단위로써 0과 1로 이루어져 있습니다.
  2. 바이트(byte) : 1byte는 8개의 bit가 모아진 형태를 의미 하며 16bit는 8byte가 됩니다

즉 1byte가 숫자로 표현할 수 있는 범위는 0~255 이며, 표현 범위 가능한 개수는 256개 입니다. (0이 포함되므로)

 

아래와 같이 2의 n승이 올라가는 방향으로 움직일수록 표현할 수 있는 숫자가 많아집니다.

  2의 0승
데이터 표현 범위 0
1
  2의 1승
데이터 표현 범위 0 0
0 1
1 0
1 1
  2의 2승
데이터 표현 범위 0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

 

각각의 데이터는 2의 n승으로 계산할 필요 없이 아래와 같이 위에는 비트 자리를, 아래는 숫자를 128 ~ 1까지 적어놓으면 편하게 계산할 수 있습니다. 비트에 있는 자리가 1이 오르면, 아래에 있는 숫자를 더하면 됩니다.

 

만약, 아래와 같이 비트가 01010011로 표현 된다면 64+16+2+1의 값인 83이 됩니다.

 

11001010으로 표현 된다면 128+64+8+2의 값인 202가 됩니다.

 

 

C. 자료형의 메모리 크기와 기본값, 표현 범위

다시 자료형의 이야기로 돌아가서 각각의 자료형은 아래와 같은 크기와 값, 표현 범위를 갖게 되는데 정수형의 예약어인 byte는 1byte의 크기를 가지므로 표현 가능한 개수는 256개지만, 음수를 표현하므로 0~255가 아니라 -128~127이 됩니다.

이와 같이 각각 몇 바이트의 크기를 가지고 있느냐에 따라 표현 범위가 달라지게 되고, 변수가 선언 되면서 각자 가지고 있는 데이터 크기 만큼의 메모리 영역을 확보하게 됩니다. (https://nirsa.tistory.com/377 - 2.변수 선언 그림 참고)

특이하게도 논리형 boolean의 경우 1byte임에도 표현 범위는 true / false 단 2개 입니다. 0 또는 1 두가지로 true / false를 나타낼 수 있을 것 같은데, boolean이 1byte를 사용하는 이유는 CPU가 메모리에 접근할 수 있는 최소 단위가 1byte이기 때문에 1bit가 아닌 1byte를 사용 합니다.

 

 

D. 기본형 변수의 특징2 - Stack 영역에 값을 직접 저장

기본형 변수의 또 다른 특징으로는 자바 메모리 영역에서 Stack에 직접 값을 저장하고 사용 합니다. 이후 포스팅할 참조형 변수의 경우 Stack에 참조할 주소를 저장 하지만, 기본형 변수는 값을 직접 저장 하게 됩니다.

 

 

E. 자바의 메모리 구조 참고 (PC Register, Native Method 제외)

 

 

반응형
반응형

 

자바 변수명 네이밍 규칙(Java Name Convenction)

자바에서의 변수명 네이밍 규칙은 아래와 같습니다만, 예약어의 경우 자바를 공부하면 자연스럽게 터득하게 되기 때문에 굳이 예약어들의 종류를 외우려고 하지 않으셔도 됩니다.

  1. 대소문자를 구분하며 길이 제한이 없음
  2. 예약어 사용 불가
    ex) int, true, public, final, if, …
  3. 숫자로 시작할 수 없음
    ex) 1num (X)
  4. 특수문자는 _와 $만 허용
    ex) @num (X), $num (O), _num (O)
  5. 관례적으로 카멜 표기법(낙타 표기법)을 사용

 

표기법의 종류

자바에서 자주 사용되는 표기법은 아래와 같습니다.

  1. 카멜 표기법(Camel notaion : Camel case : 낙타표기법) : 소문자로 시작하며 이어지는 단어들의 시작을 대문자로 작성 → 자바에서 대부분의 경우에 카멜 표기법을 사용
    ex) userName, boardList
  2. 파스칼 표기법(Pascal case) : 대문자로 시작하며 이어지는 단어들의 시작을 대문자로 작성 → 클래스의 이름에 사용
    ex) UserName, BoardList  
  3. 스네이크 표기법 (Snake case) : 소문자로 이루어진 단어 사이에 언더바(_)를 활용하는 표기법 → 프론트엔드쪽에서 자주 사용됨 
    ex) user_name, board_list

그 외로 자바에서는 대문자로 이루어지고, 단어의 사이마다 언더바(_)를 넣을때가 있는데 상수를 작성할 때 사용됩니다.

반응형
반응형
※ 포스팅에서 사용된 그림 등을 퍼가시거나 기타 자료로 활용 하셔도 괜찮지만, 출처 표기 부탁 드립니다.

 

1. 자바 변수란? (Java Variables)

변수란 어떠한 값(data)를 저장할 수 있는 저장 공간을 뜻합니다. 왼쪽에 작은 박스가 있고, 그 안에 내가 원하는 물건(값)을 넣는 그림을 생각하셔도 됩니다.

 

굳이 변수라는 개념을 사용하는 이유는 여러번의 수정이 필요한 작업이 있을 때 사용된 값을 모든 데이터에서 수정하는 것이 아니라, 변수에 할당시킨 값만을 초기화 한다면 단 한번의 수정으로 모든 값을 변경할 수 있습니다.

아래의 코드에서 변수를 사용하지 않을 경우 100 이라는 값을 수정 하기 위해서는 총 7번의 수정이 필요하고, 변수를 사용할 경우 단 한번의 수정으로 모든 값을 변경할 수 있습니다.

총 7번의 수정이 필요한 코드

총 1번의 수정이 필요한 코드 (변수 사용)

 

 

2. 변수 선언

자바에서의 변수 선언은 메모리에 값(data)를 올리기 위해 공간을 확보하는 과정입니다. 아래와 같이 int형의 기본 자료형일 경우  정해진 바이트의 크기만큼을 메모리에 올릴 수 있도록 공간을 확보 합니다. (https://nirsa.tistory.com/379 - [JAVA 변수 강의-3]  참고)

자바의 변수 선언과 메모리 확보

 

자바의 변수 선언은 다음과 같이 데이터 타입을 지정하고, 사용할 변수명을 입력 합니다.

 

데이터 타입(자료형)은 참조 자료형과 기본 자료형으로 나눠지며, 기본 자료형의 경우 8가지로 나눠지게 되는데

  1. 논리형 : boolean
  2. 문자형 : char
  3. 정수형 : byte, short, int, long
  4. 실수형 : float, double

변수 선언 시 각각의 크기만큼의 메모리의 공간을 확보하고 그 곳에 값을 넣게 됩니다. (그림 '자바의 변수 선언과 메모리 확보' 참고)

 

 

3. 변수 초기화

위에서 변수 선언을 먼저 했다면 데이터 타입을 제외하고 작성하여 변수 초기화, 즉 변수에 값을 할당할 수 있습니다. 이렇게 변수에 값을 할당하는 과정을 `변수 초기화`라고 하며 넣으려는 값은 `리터럴`이라는 용어를 사용하기도 합니다.

 

하지만 만약, 변수의 선언과 초기화를 동시에 하고 싶다면 데이터 타입을 포함하여 작성하시면 됩니다.

 

변수를 초기화 할 때 데이터 타입 앞에 final을 붙이면 상수가 됩니다. 상수는 단 한번만 저장되고 그 이후에는 변경할 수 없는 값을 뜻하고, 관례적으로 병수명을 지을 때 모두 대문자로 지으며 단어 사이에 언더바(_)를 넣어 대문자로 이루어진 변수명을 사용합니다.

 

반응형
반응형
STS GitHub 연동

 

1. STS 실행 후 우측 상단 Open Perspective 클릭

 

2. Open Perspective 창에서 Git 클릭 후 Open

 

3. Git Repositories 창에서 Clen a Git repository 클릭

 

4. 잠시 github로 돌아가서 아래 이미지와 같이 URI 복사

 

5. 3번 과정에서 나왔던 URI 쪽에 주소 붙여넣기 후 아이디와 패스워드를 입력 해주세요.

 

6. Local Destination에서 디렉토리 경로를 원하는 경로로 변경 해줍니다.

 

7. 연동할 프로젝트 우클릭  → Team → Share Project...

 

8. Repository 클릭하면 위에서 설정했던게 나옵니다. 클릭 후 Finish 해주면 깃허브 연동 끝 입니다~

 

반응형

+ Recent posts