์ด์ ํฌ์คํธ์์ ๋ณ์๋ฅผ ์ค๋ช ํ์ต๋๋ค.
์๋ฃํ์ด๋ ๋ณ์์ ๊ฐ์ ํ ๋นํ ๋, ์ด๋ค ๊ฐ์ ํ ๋นํ ๊ฒ์ธ์ง? ๋ฏธ๋ฆฌ ์๋ ค์ฃผ๋ ๊ฒ์ ๋๋ค.
๋ณ์ ํฌ์คํธ๋ฅผ ์ ์๊ฐํด ๋ด ์๋ค.
1. a = 10์ ์์ฑํ๊ณ ๋ฐ๋ก ๋ค์์ a = 22์ต์ด๋ผ๊ณ ์์ฑํด ๋ด ์๋ค.
2. Symbol Table์์ a์ ์ฃผ์๊ฐ 0x0004๋ผ๊ณ ๊ฐ์ ์ ํฉ์๋ค.
3. 0x0008 ์ฃผ์์ ์ด๋ฏธ ๋ค๋ฅธ ๊ฐ์ด ์๋ค๊ณ ๊ฐ์ ํฉ์๋ค.
4. 0x0004์ 10์ ์ ์ฅํ ๋๋ ์๋ฌด ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
5. 0x0004์ 22์ต์ ์ ์ฅํ ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.

์ด์ ๊ฐ ๋ญ๊น์?
์ปดํจํฐ์์ ๊ธฐ๋ณธ์ ์ธ ์ ์๋ 4byte(32bit, ๋๋ต 21์ต)๊น์ง ํํ์ ํ๊ณ ๊ณต๊ฐ์ ์ฐจ์งํฉ๋๋ค.
a๋ผ๋ ๋ณ์๊ฐ 0x0004, 0x0005, 0x0006, 0x0007์ ๊ณต๊ฐ์ ์ฐจ์งํ๋ ๊ฒ์ด์ฃ .

๊ทธ๋ฐ๋ฐ 22์ต์ ์ ์ฅํ ๋๋ 4byte๋ฅผ ๋์ด๊ฐ๋๋ค. 0x0008์ ๊ณต๊ฐ๊น์ง ๊ฑด๋๋ฆฌ๊ฒ ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ฃ .
๋ง์ฝ 0x0008์ ์ค์ํ ๊ฐ์ด ๋ค์ด ์๋ค๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ฒ ๋์ฃ .
๊ทธ๋์ ๋ฏธ๋ฆฌ ๊ณต๊ฐ์ ํ๋ณดํ๊ธฐ ์ํด ์๋ฃํ์ ์ฌ์ฉํฉ๋๋ค.
PDT(Primitive Data Type) - ๊ธฐ๋ณธ ์๋ฃํ
๋ฐ์ดํฐ ํ์ | ํฌ๊ธฐ | ์ข ๋ฅ | ๊ธฐ๋ณธ ๊ฐ |
byte | 1byte | ์ ์ | 0 |
short | 2byte | ์ ์ | 0 |
int | 4byte | ์ ์ | 0 |
long | 8byte | ์ ์ | 0L |
float | 4byte | ์ค์ | 0.0f |
double | 8byte | ์ค์ | 0.0d |
char | 2byte | ๋ฌธ์ | null |
boolean | 1byte | ๋ถ๋ฆฐ | false |
์๋ฐ์์๋ unicode๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ charํ์ด 2byte์ ํฌ๊ธฐ๋ฅผ ๊ฐ์ต๋๋ค.
์ฐ๋ฆฌ๋ ์ด๋ฐ ์๋ฃํ์ ํตํด ๋ณ์๋ฅผ ์ ์ธํ๊ณ ํ ๋นํ๊ฒ ๋ฉ๋๋ค.
int myAge; // ์ ์ธ
myAge = 25; // ํ ๋น
์ฐธ๊ณ ๋ก char๋ 'A'์ ๊ฐ์ ํ๋์ ๋ฌธ์๋ง ํํํ ์ ์์ต๋๋ค.
Ace์ ๊ฐ์ ํ๋์ ๋ฌธ์์ด์ ํํํ๊ธฐ ์ํด์๋ String์ด๋ผ๋ ์๋ฃํ์ ์ฌ์ฉํด์ผ ํ๋๋ฐ์.
String์ ๊ธฐ๋ณธ ์๋ฃํ์ด ์๋๊ณ Java์์ ์ง์ ๋ง๋ ์๋ฃํ์ ๋๋ค. ์ด๋ฐ ๊ฒ์ User Define Data Type์ด๋ผ๊ณ ํฉ๋๋ค.
๊ธฐ๋ณธ ์๋ฃํ ์ธ ์ฌ์ฉ์์๊ฒ ๋์ฑ ํธ๋ฆฌํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค. API(Application Programing Interface)๋ผ๊ณ ๋ ํ์ฃ .
API์๋ ์ถํ์ ๋ค๋ฃฐ ์์ ์ด๊ณ Interface์ ๋ํ ๊ธ์ ์ฌ๊ธฐ์ ํ์ธํ ์ ์์ต๋๋ค.
์ปดํจํฐ์์ Interface๋?
๋จผ์ , Interface์ ๋ป์ ์ํธ ์์ฉ์ด๋ผ๊ณ ํฉ๋๋ค. (Google ๋ฒ์ญ๊ธฐ) ์ํธ ์์ฉ์ด๋ผ๊ณ ํ๋ฉด A์ B๊ฐ ์๋ก ๋ฌผ๊ฑด์ ์ฃผ๊ณ ๋ฐ๋ , ๋ํ๋ฅผ ํ๋ ์ธ์์ ํ๋ (?) ๋ ๊ฐ ์ด์์ ๋ฌด์ธ๊ฐ๊ฐ ์๋ก ๋ฌด์ธ๊ฐ๋ฅผ ํ๋ ๊ฒ์ด
dev-dot.tistory.com
UDDT(User Define Data Type) - ์ฌ์ฉ์ ์ ์ ์๋ฃํ
UDDT๋ Reference Data Type (์ฐธ์กฐํ) ์ด๋ผ๊ณ ๋ถ๋ฅผ ์๋ ์๋๋ฐ ํด๋์ค๋ ๋ฐฐ์ด ๋ฑ์์ ์ฌ์ฉ๋๋ ๊ฐ๋ ์ ๋๋ค.
๋์ค์ ๋ ์์ธํ ๋ค๋ฃจ๊ฒ ์ง๋ง PDT(๊ธฐ๋ณธ ์๋ฃํ) ๋๋ ๋ ๋ค๋ฅธ UDDT(์ฌ์ฉ์ ์ ์ ์๋ฃํ)์ ์งํฉ์ผ๋ก ์ด๋ฃจ์ด์ง ์๋ฃํ์ ๋๋ค. ์๋ฅผ ๋ค์ด String์ ๋ฌธ์์ด์ ํํํ๋๋ฐ ๋ฌธ์์ด์ ํ๋์ ๋ฌธ์๋ค๋ก ๋๋ ์ ์์ต๋๋ค.
์ด ๋ง์ char ์๋ฃํ์ผ๋ก String ์๋ฃํ์ ๋ง๋ค์ด ๋ณผ ์ ์์ต๋๋ค.



UDDT๋ Class๋ฅผ ๊ณต๋ถํ๊ฒ ๋๋ฉด ์กฐ๊ธ ๋ ์ฝ๊ฒ ์ ์ ์์ผ๋ฏ๋ก ์ง๊ธ์ ์ฌ๊ธฐ๊น์ง๋ง ์์๋๋ฉด ๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ด์ , ์ฐ๋ฆฌ๋ PDT, UDDT, Variable, Assign์ ์์์ต๋๋ค.
์ฐ๋ฆฌ๋ ํ๋์ ํ๋ก๊ทธ๋จ์ ์์ฑํ ์ ์์ต๋๋ค.
์ปดํจํฐ์ ๊ฐ์ ์ ์ฅํ๊ณ ์ถ๋ ฅํ๋ ๊ฒ์ด์ฃ .
์ถ๋ ฅ์ ๋ํด์๋ ์์ง ์์ฑํ์ง ์์์ง๋ง ๊ธฐ๋ณธ์ ์ผ๋ก ๋ง์ ๋ด์ผํ๋๊น
System.out.println(value); ๋ก ์๊ธฐ์๊ฐ๋ฅผ ์ถ๋ ฅํด๋ณด๋ฉด ์๋ฃํ์ ๋ํด ๋ ์์ธํ ์ ์ ์๊ฒ ๋ค์
public static void main(String[] args) {
String name = "dot";
int age = 25;
char gender = 'M';
boolean girlFriend = false;
System.out.println("์ด๋ฆ : " + dot);
System.out.println("๋์ด : " + age);
System.out.println("์ฑ๋ณ : " + gender);
System.out.println("์ฌ์์น๊ตฌ ์ฌ๋ถ : " + girlFriend);
}
์๋ฃํ์ ๋ํ ๋ ธ์ ์ ๋ฆฌ์ ๋๋ค.
https://www.notion.so/24jihwan/295b00df286d4f3f92d72119afd997ee
์๋ฃํ | Notion
์๋ฃํ์ ์ข ๋ฅ ์์๋ณด๊ธฐ
24jihwan.notion.site
'JAVA > ๊ธฐ๋ณธ ์ด๋ก ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
7. ๋ค์ฐจ์ ๋ฐฐ์ด (Multi Dimensional Array) (1) | 2024.02.10 |
---|---|
6. ๋ฐฐ์ด (Array) (1) | 2024.02.10 |
5. ์ฐ์ฐ์(Operator)์ ์ฐ์ฐ ์์ (1) | 2024.02.10 |
2. ๋ณ์(Variable)์ ํ ๋น(Assign) (1) | 2024.01.02 |
1. ์๋ฐ ์์ํ๊ธฐ (1) | 2024.01.02 |