์ฐจ์ด๋Š” ์‚ฌ์šฉํ•˜๋Š” ๊ฐ’์„ ์ง์ ‘ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š”์ง€์™€
์‚ฌ์šฉํ•˜๋Š” ๊ฐ’์ด ์ €์žฅ๋œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์œ„์น˜๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฐธ์กฐ๊ฐ’์„ ๋„ฃ๋Š”๊ฐ€์ด๋‹ค.

๋ณ€์ˆ˜์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…: ๊ธฐ๋ณธํ˜•๊ณผ ์ฐธ์กฐํ˜•

 

๋ณ€์ˆ˜์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ํฌ๊ฒŒ ๊ธฐ๋ณธํ˜•๊ณผ ์ฐธ์กฐํ˜•์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

๊ธฐ๋ณธํ˜•์€ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ’์„ ๋ณ€์ˆ˜์— ์ง์ ‘ ์ €์žฅํ•˜๋Š” ํƒ€์ž…์ด๊ณ , ์ฐธ์กฐํ˜•์€ ๊ฐ์ฒด๋‚˜ ๋ฐฐ์—ด์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๋Š” ํƒ€์ž…์ด๋‹ค.

 

๊ธฐ๋ณธํ˜• (Primitive Type)

๊ธฐ๋ณธํ˜•์€ int, long, double, boolean์ฒ˜๋Ÿผ ๋ณ€์ˆ˜๊ฐ€ ๊ฐ’์„ ์ง์ ‘ ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์ˆซ์ž 10์ด๋‚˜ 20 ๊ฐ™์€ ๊ฐ’์„ ๋ณ€์ˆ˜์— ๋ฐ”๋กœ ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค.

๊ธฐ๋ณธํ˜• ๋ณ€์ˆ˜๋Š” ๊ฐ’์„ ์ €์žฅํ•˜๊ณ  ์ฆ‰์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค.

 

์ฐธ์กฐํ˜• (Reference Type)

์ฐธ์กฐํ˜•์€ ๋ฐ์ดํ„ฐ ์ž์ฒด๋ฅผ ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ฃผ์†Œ(์ฐธ์กฐ๊ฐ’)๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, Student student1 ๊ฐ™์€ ๊ฐ์ฒด ๋ณ€์ˆ˜๋‚˜ int[] students ๊ฐ™์€ ๋ฐฐ์—ด ๋ณ€์ˆ˜๊ฐ€ ์ฐธ์กฐํ˜•์— ํ•ด๋‹นํ•œ๋‹ค.

๊ฐ์ฒด ๋˜๋Š” ๋ฐฐ์—ด๊ณผ ๊ฐ™์€ ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ ์ฐธ์กฐํ˜• ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

 

๊ธฐ๋ณธํ˜• vs ์ฐธ์กฐํ˜•: ํ•ต์‹ฌ ์ฐจ์ด์ 

1. ์ €์žฅ ๋ฐฉ์‹

๊ธฐ๋ณธํ˜•: ๋ณ€์ˆ˜์— ๊ฐ’ ์ž์ฒด๋ฅผ ์ €์žฅํ•œ๋‹ค.

์˜ˆ) int age = 25;

์ฐธ์กฐํ˜•: ๋ณ€์ˆ˜์— ๊ฐ์ฒด๋‚˜ ๋ฐฐ์—ด์˜ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•œ๋‹ค.

์˜ˆ) Student student1 = new Student();

 

2. ๋ฐ์ดํ„ฐ ํ™œ์šฉ

๊ธฐ๋ณธํ˜•์€ ๊ฐ’์„ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ) int x = 10;์—์„œ x๋Š” 10์„ ์ง์ ‘ ๋‹ด๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฆ‰์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฐธ์กฐํ˜•์€ ์ €์žฅ๋œ ์ฃผ์†Œ๋ฅผ ํ†ตํ•ด ์‹ค์ œ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•ด์•ผ ํ•œ๋‹ค.

์˜ˆ) student1์€ ๊ฐ์ฒด์˜ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๊ณ , ์ด๋ฅผ ํ†ตํ•ด student1.getName()์ฒ˜๋Ÿผ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐธ์กฐํ•œ๋‹ค.

 

๊ธฐ๋ณธํ˜•์€ ๋ณ€์ˆ˜์— ๊ฐ’์„ ์ง์ ‘ ์ €์žฅํ•˜๋Š” ๋ฐ˜๋ฉด, ์ฐธ์กฐํ˜•์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ•œ๋‹ค.
์ด๋Ÿฌํ•œ ์ฐจ์ด๋Š” ๋ณ€์ˆ˜์˜ ์‚ฌ์šฉ ๋ฐฉ์‹๊ณผ ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์—์„œ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•œ๋‹ค.
๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ๊ธฐ๋ณธํ˜•๊ณผ ์ฐธ์กฐํ˜•์˜ ํŠน์ง•์„ ์ž˜ ์ดํ•ดํ•˜๊ณ  ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

 

 


๊ธฐ๋ณธํ˜• vs ์ฐธ์กฐํ˜• - ๊ณ„์‚ฐ

 

๊ธฐ๋ณธํ˜•

๊ธฐ๋ณธํ˜•์€ ๋ณ€์ˆ˜์— ๋‹ด๊ฒจ ์žˆ๋Š” ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ๊ณ„์‚ฐ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๋ง์…ˆ, ๋บ„์…ˆ, ๊ณฑ์…ˆ, ๋‚˜๋ˆ—์…ˆ ๊ฐ™์€ ์—ฐ์‚ฐ์ด ๋ฐ”๋กœ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

์˜ˆ์‹œ)

int a = 10, b = 20;  

int sum = a + b;  

 

์œ„ ์ฝ”๋“œ์—์„œ a์™€ b๋Š” ์‹ค์ œ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— +์™€ ๊ฐ™์€ ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

์ฐธ์กฐํ˜•

์ฐธ์กฐํ˜•์€ ๋ณ€์ˆ˜์— ๊ฐ์ฒด์˜ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ(์ฐธ์กฐ๊ฐ’)๊ฐ€ ๋‹ด๊ฒจ ์žˆ๋‹ค.

์ฐธ์กฐ๊ฐ’์€ ๊ณ„์‚ฐ์— ์ง์ ‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ์—ฐ์‚ฐ์„ ์‹œ๋„ํ•  ๊ฒฝ์šฐ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

์˜ˆ์‹œ)

 

Student s1 = new Student();  

Student s2 = new Student();  

s1 + s2;  // ์˜ค๋ฅ˜ ๋ฐœ์ƒ

 

๋‹ค๋งŒ, ์ฐธ์กฐํ˜• ๋ณ€์ˆ˜์— ์ €์žฅ๋œ ๊ฐ์ฒด์˜ ์†์„ฑ(๋ฉค๋ฒ„ ๋ณ€์ˆ˜)์„ ์ ‘๊ทผํ•˜์—ฌ ์—ฐ์‚ฐํ•˜๋Š” ๊ฒƒ์€ ๊ฐ€๋Šฅํ•˜๋‹ค.

์˜ˆ์‹œ)

 

Student s1 = new Student();  
s1.grade = 100;  

Student s2 = new Student();  
s2.grade = 90;  

int sum = s1.grade + s2.grade;  // ์—ฐ์‚ฐ ๊ฐ€๋Šฅ

์œ„ ์ฝ”๋“œ์—์„œ ๊ฐ์ฒด์˜ grade๋Š” ๊ธฐ๋ณธํ˜• ๋ฐ์ดํ„ฐ์ด๋ฏ€๋กœ ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

• ๊ธฐ๋ณธํ˜•: ๋ณ€์ˆ˜์— ์ €์žฅ๋œ ๊ฐ’์„ ์ง์ ‘ ๊ณ„์‚ฐ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
• ์ฐธ์กฐํ˜•: ๋ณ€์ˆ˜์— ์ €์žฅ๋œ ์ฐธ์กฐ๊ฐ’(์ฃผ์†Œ) ์ž์ฒด๋Š” ๊ณ„์‚ฐ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ํ•˜์ง€๋งŒ ์ฐธ์กฐ๋œ ๊ฐ์ฒด์˜ ๊ธฐ๋ณธํ˜• ์†์„ฑ์€ ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

๊ธฐ๋ณธํ˜•๊ณผ ์ฐธ์กฐํ˜•์„ ์‰ฝ๊ฒŒ ๊ตฌ๋ถ„ํ•˜๋Š” ํŒ

๊ธฐ๋ณธํ˜•์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€๋Š” ๋ชจ๋‘ ์ฐธ์กฐํ˜•์ด๋‹ค.

๊ธฐ๋ณธํ˜•์˜ ํŠน์ง•
์†Œ๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•œ๋‹ค.
์˜ˆ) int, long, double, boolean
• ๊ธฐ๋ณธํ˜•์€ ์ž๋ฐ”์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด๋ฉฐ, ์ƒˆ๋กœ์šด ๊ธฐ๋ณธํ˜•์„ ์ •์˜ํ•  ์ˆ˜ ์—†๋‹ค.
๊ฐœ๋ฐœ์ž๊ฐ€ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์ฐธ์กฐํ˜• ํด๋ž˜์Šค๋ฟ์ด๋‹ค.

์ฐธ์กฐํ˜•์˜ ํŠน์ง•
ํด๋ž˜์Šค๋Š” ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘ํ•œ๋‹ค.
์˜ˆ) Student
ํด๋ž˜์Šค๋Š” ๋ชจ๋‘ ์ฐธ์กฐํ˜•์ด๋‹ค.

์ฐธ๊ณ  - String

์ž๋ฐ”์—์„œ String์€ ํŠน๋ณ„ํ•œ ํด๋ž˜์Šค๋‹ค.
String์€ ์ฐธ์กฐํ˜•์ด์ง€๋งŒ, ๊ธฐ๋ณธํ˜•์ฒ˜๋Ÿผ ๋ฌธ์ž ๊ฐ’์„ ๋ฐ”๋กœ ๋Œ€์ž…ํ•  ์ˆ˜ ์žˆ๋‹ค.
• ๋ฌธ์ž๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งค์šฐ ๋นˆ๋ฒˆํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ž๋ฐ”๋Š” String์— ๋Œ€ํ•ด ํŠน๋ณ„ํžˆ ํŽธ๋ฆฌํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.
• String์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ดํ›„์— ์„ค๋ช…ํ•œ๋‹ค.

 ๊ธฐ๋ณธํ˜• vs ์ฐธ์กฐํ˜• - ๋ณ€์ˆ˜ ๋Œ€์ž…

 

๋Œ€์ž… ์›์น™: ์ž๋ฐ”๋Š” ํ•ญ์ƒ ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋ณต์‚ฌํ•ด์„œ ๋Œ€์ž…ํ•œ๋‹ค.

 

์ž๋ฐ”์—์„œ ๋ณ€์ˆ˜์— ๊ฐ’์„ ๋Œ€์ž…ํ•œ๋‹ค๋Š” ๊ฒƒ์€, ๋ณ€์ˆ˜์— ์ €์žฅ๋œ ๊ฐ’์„ ๋ณต์‚ฌํ•ด์„œ ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜์— ๋„ฃ๋Š” ๊ฒƒ์ด๋‹ค.

 

๊ธฐ๋ณธํ˜•: ์‹ค์ œ ๊ฐ’์ด ๋ณต์‚ฌ๋˜์–ด ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜์— ๋Œ€์ž…๋œ๋‹ค.

์ฐธ์กฐํ˜•: ๊ฐ์ฒด์˜ ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ฐธ์กฐ๊ฐ’(์ฃผ์†Œ)์ด ๋ณต์‚ฌ๋˜์–ด ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜์— ๋Œ€์ž…๋œ๋‹ค.

 

๊ธฐ๋ณธํ˜• ๋Œ€์ž…

int a = 10;

int b = a;

 

b์—๋Š” a์˜ ๊ฐ’ 10์ด ๋ณต์‚ฌ๋˜์–ด ๋“ค์–ด๊ฐ„๋‹ค.

 ์ดํ›„ a์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•ด๋„ b์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š”๋‹ค.

 

์˜ˆ์‹œ ์‹คํ–‰ ๊ฒฐ๊ณผ:

 a = 10, b = 10

 a = 20์œผ๋กœ ๋ณ€๊ฒฝํ•ด๋„ b = 10 ์œ ์ง€.

 b = 30์œผ๋กœ ๋ณ€๊ฒฝํ•ด๋„ a = 20 ์œ ์ง€.

 

 

์œ„ ๊ทธ๋ฆผ์—์„œ int b = a๋Š” ๊ฐ’ 10์„ ๋ณต์‚ฌํ•˜์—ฌ b์— ์ „๋‹ฌํ•œ๋‹ค.

๋”ฐ๋ผ์„œ, a์™€ b๋Š” ์„œ๋กœ ๋…๋ฆฝ์ ์ธ ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ, ํ•œ์ชฝ ๊ฐ’์„ ๋ณ€๊ฒฝํ•ด๋„ ๋‹ค๋ฅธ ์ชฝ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.

 

์ฐธ์กฐํ˜• ๋Œ€์ž…

Student s1 = new Student();

Student s2 = s1;

 

s2์—๋Š” s1์˜ ์ฐธ์กฐ๊ฐ’(๊ฐ์ฒด์˜ ์ฃผ์†Œ)์ด ๋ณต์‚ฌ๋œ๋‹ค.

s1๊ณผ s2๋Š” ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋ฏ€๋กœ, ํ•œ์ชฝ์—์„œ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ๋ณ€๊ฒฝํ•˜๋ฉด ๋‹ค๋ฅธ ์ชฝ์—์„œ๋„ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ฐ˜์˜๋œ๋‹ค.

 

1. ๊ธฐ๋ณธํ˜•: ๊ฐ’ ์ž์ฒด๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ๋Œ€์ž…ํ•˜๋ฏ€๋กœ, ๊ฐ ๋ณ€์ˆ˜๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐ’์„ ์œ ์ง€ํ•œ๋‹ค.
2. ์ฐธ์กฐํ˜•: ๊ฐ์ฒด์˜ ์ฐธ์กฐ๊ฐ’(์ฃผ์†Œ)์„ ๋ณต์‚ฌํ•˜์—ฌ ๋Œ€์ž…ํ•˜๋ฏ€๋กœ, ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ๊ณต์œ ํ•œ๋‹ค.

 

 

์ฐธ์กฐํ˜• ๋ณ€์ˆ˜์˜ ๊ฒฝ์šฐ, ๊ฐ’์œผ๋กœ ๊ฐ์ฒด์˜ ์ฐธ์กฐ๊ฐ’(์ฃผ์†Œ)์ด ์ €์žฅ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ, ์ด๋ฅผ ๋ณต์‚ฌํ•˜๊ฒŒ ๋œ๋‹ค.

๋ณ€์ˆ˜์— ์ €์žฅ๋œ ์ฐธ์กฐ๊ฐ’๋งŒ ๋ณต์‚ฌ๋˜๋ฉฐ, ์ธ์Šคํ„ด์Šค ์ž์ฒด๋Š” ๋ณต์‚ฌ๋˜์ง€ ์•Š๋Š”๋‹ค.

 

 

 

dataA๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ์ธ์Šคํ„ด์Šค์˜ value ๊ฐ’์„ 10์—์„œ 20์œผ๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.

dataB ์—ญ์‹œ ๋™์ผํ•œ ์ธ์Šคํ„ด์Šค ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ•˜๊ธฐ ๋•Œ๋ฌธ์—, dataB.value๋„ 20์œผ๋กœ ์ถœ๋ ฅ๋œ๋‹ค.

ํ•ต์‹ฌ ํฌ์ธํŠธ

๋ณ€์ˆ˜์˜ ๋Œ€์ž…์€ ๋ณ€์ˆ˜์— ๋“ค์–ด์žˆ๋Š” ๊ฐ’์„ ๋ณต์‚ฌํ•ด์„œ ์ด๋ฃจ์–ด์ง„๋‹ค.

์ฐธ์กฐํ˜• ๋ณ€์ˆ˜๋Š” ๊ฐ์ฒด์˜ ์ฐธ์กฐ๊ฐ’(์ฃผ์†Œ)์„ ๋ณต์‚ฌํ•˜๋ฉฐ, ์ธ์Šคํ„ด์Šค ์ž์ฒด๋ฅผ ๋ณต์‚ฌํ•˜์ง€ ์•Š๋Š”๋‹ค.

๋”ฐ๋ผ์„œ, ๋‘ ๋ณ€์ˆ˜๊ฐ€ ๋™์ผํ•œ ์ฐธ์กฐ๊ฐ’์„ ๊ฐ€์ง€๊ฒŒ ๋˜๊ณ , ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค.

ํ•œ์ชฝ์—์„œ ์ฐธ์กฐํ•˜๋Š” ๊ฐ์ฒด์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋ฉด, ๋‹ค๋ฅธ ์ชฝ์—์„œ๋„ ๋ณ€๊ฒฝ๋œ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋ณ€์ˆ˜ dataA์™€ dataB๋Š” ์„œ๋กœ ๋…๋ฆฝ๋œ ๋ณ€์ˆ˜๊ฐ€ ์•„๋‹ˆ๋ผ, ๋™์ผํ•œ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋‹ค๋ฅธ ์ด๋ฆ„์ผ ๋ฟ์ด๋‹ค.
์ฐธ์กฐํ˜• ๋ณ€์ˆ˜์˜ ์ด๋Ÿฌํ•œ ํŠน์„ฑ์€ ๊ฐ์ฒด์™€ ๊ด€๋ จ๋œ ์ž‘์—…์—์„œ ๋งค์šฐ ์ค‘์š”ํ•œ ๊ฐœ๋…์ด๋ฏ€๋กœ,
๊ฐ์ฒด ๊ฐ„ ๋™์ž‘์„ ์„ค๊ณ„ํ•  ๋•Œ ์ด๋ฅผ ๋ช…ํ™•ํžˆ ์ดํ•ดํ•ด์•ผ ํ•œ๋‹ค.

 

 

๊ธฐ๋ณธํ˜• ๊ฐ’์˜ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ์‹œ ๋™์ž‘

๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ์‹œ, ๊ธฐ๋ณธํ˜• ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋ณต์‚ฌํ•˜์—ฌ ์ „๋‹ฌํ•œ๋‹ค.

์ด๋กœ ์ธํ•ด ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€์—์„œ ๊ฐ’์ด ๋ณ€๊ฒฝ๋˜๋”๋ผ๋„, ์›๋ž˜ ๋ณ€์ˆ˜์˜ ๊ฐ’์€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š”๋‹ค.

๊ธฐ๋ณธํ˜•์ด์˜€์„๋•Œ๋Š” ๊ฐ’์ด ๋ฐ”๋€Œ์ง€ ์•Š์•˜์ง€๋งŒ ์ฐธ์กฐํ˜•์ผ๋•Œ๋Š” ๊ฐ’์ด ๋ฐ”๋€๋‹ค.

1. ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ์‹œ
• ๋ณ€์ˆ˜ a์˜ ๊ฐ’ 10์ด ๋ณต์‚ฌ๋˜์–ด ๋ฉ”์„œ๋“œ ๋งค๊ฐœ๋ณ€์ˆ˜ x๋กœ ์ „๋‹ฌ๋œ๋‹ค.
• ์ด๋•Œ, x๋Š” a์™€ ๋…๋ฆฝ๋œ ๋ณ„๋„์˜ ๋ณ€์ˆ˜๋กœ ๋™์ž‘ํ•œ๋‹ค.

2. ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€์—์„œ ๊ฐ’ ๋ณ€๊ฒฝ
• ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€์—์„œ x = 20์œผ๋กœ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋”๋ผ๋„, ์ด๋Š” x์˜ ๊ฐ’๋งŒ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
• ์›๋ž˜ ๋ณ€์ˆ˜ a๋Š” ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š”๋‹ค.

3. ๋ฉ”์„œ๋“œ ์ข…๋ฃŒ
• ๋ฉ”์„œ๋“œ๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด, x๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ณ  ์†Œ๋ฉธ๋œ๋‹ค.
• ๋ณ€์ˆ˜ a์˜ ๊ฐ’์€ ๊ทธ๋Œ€๋กœ 10์œผ๋กœ ์œ ์ง€๋œ๋‹ค.

 

๊ธฐ๋ณธํ˜• ๊ฐ’์€ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ์‹œ ๋ณต์‚ฌ๋˜๊ธฐ ๋•Œ๋ฌธ์—, ์›๋ณธ ๊ฐ’๊ณผ ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ’์€ ์„œ๋กœ ๋…๋ฆฝ์ ์ด๋‹ค.

์ฐธ์กฐํ˜• ๋ณ€์ˆ˜์˜ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ๋™์ž‘

 

์ฐธ์กฐํ˜• ๋ณ€์ˆ˜๋Š” ์ฐธ์กฐ๊ฐ’(๊ฐ์ฒด์˜ ์ฃผ์†Œ)๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ๋ฉ”์„œ๋“œ์— ์ „๋‹ฌํ•œ๋‹ค. ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€์—์„œ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ๋ณ€๊ฒฝํ•˜๋ฉด, ์›๋ž˜ ๋ณ€์ˆ˜์— ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค.

์ด๋Š” ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ํ›„ ๊ฐ์ฒด์˜ ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ๊ธฐ๋ณธํ˜• ๋ณ€์ˆ˜์™€ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค.

1. ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ์‹œ
• ๋ณ€์ˆ˜ dataA์˜ ์ฐธ์กฐ๊ฐ’ x001์ด ๋ฉ”์„œ๋“œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ dataX๋กœ ๋ณต์‚ฌ๋œ๋‹ค.
• ๋”ฐ๋ผ์„œ, dataA์™€ dataX๋Š” ๋™์ผํ•œ ๊ฐ์ฒด x001์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค.
2. ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€ ๋™์ž‘
• ๋ฉ”์„œ๋“œ์—์„œ dataX.value = 20์œผ๋กœ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๋ฉด, x001 ๊ฐ์ฒด์˜ value ๊ฐ’์ด 20์œผ๋กœ ์—…๋ฐ์ดํŠธ๋œ๋‹ค.
• dataA์™€ dataX๋Š” ๊ฐ™์€ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ, ๋ณ€๊ฒฝ๋œ ๊ฐ’์ด ๋‘ ๋ณ€์ˆ˜์— ๋ชจ๋‘ ๋ฐ˜์˜๋œ๋‹ค.
3. ๋ฉ”์„œ๋“œ ์ข…๋ฃŒ
• ๋ฉ”์„œ๋“œ๊ฐ€ ์ข…๋ฃŒ๋˜๋”๋ผ๋„, dataA๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ๊ฐ์ฒด x001์€ ๋ณ€๊ฒฝ๋œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•œ๋‹ค.

 

 

๊ธฐ๋ณธํ˜•๊ณผ ์ฐธ์กฐํ˜•์˜ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ์ฐจ์ด
• ๊ธฐ๋ณธํ˜•: ๊ฐ’์„ ๋ณต์‚ฌํ•˜์—ฌ ์ „๋‹ฌํ•˜๋ฏ€๋กœ, ๋ฉ”์„œ๋“œ ๋‚ด์—์„œ ๊ฐ’์„ ๋ณ€๊ฒฝํ•ด๋„ ์›๋ณธ ๋ณ€์ˆ˜์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š๋Š”๋‹ค.
• ์ฐธ์กฐํ˜•: ์ฐธ์กฐ๊ฐ’์„ ๋ณต์‚ฌํ•˜์—ฌ ์ „๋‹ฌํ•˜๋ฏ€๋กœ, ๋ฉ”์„œ๋“œ ๋‚ด์—์„œ ๊ฐ์ฒด์˜ ์†์„ฑ์„ ๋ณ€๊ฒฝํ•˜๋ฉด ์›๋ณธ ๋ณ€์ˆ˜์—๋„ ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค.

์ฐธ์กฐํ˜• ๋ณ€์ˆ˜์™€ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ

์ฐธ์กฐํ˜• ๋ณ€์ˆ˜๋Š” ๊ฐ์ฒด์˜ ์ฐธ์กฐ๊ฐ’(์ฃผ์†Œ)์„ ๋ฉ”์„œ๋“œ์— ์ „๋‹ฌํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€์—์„œ ๊ฐ์ฒด์˜ ํ•„๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์ดˆ๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ฉ”์„œ๋“œ ๋™์ž‘ ์›๋ฆฌ

1. ๊ฐ์ฒด ์ƒ์„ฑ๊ณผ ์ดˆ๊ธฐ

  createStudent ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋˜๋ฉด, ์ƒˆ๋กœ์šด Student ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋œ๋‹ค.

  ๋ฉ”์„œ๋“œ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ๋œ ๊ฐ’์„ ์‚ฌ์šฉํ•ด Student ๊ฐ์ฒด์˜ name, age, grade ํ•„๋“œ๊ฐ€ ์ดˆ๊ธฐํ™”๋œ๋‹ค.

 

2. ์ฐธ์กฐ๊ฐ’ ๋ฐ˜ํ™˜

  ์ดˆ๊ธฐํ™”๋œ Student ๊ฐ์ฒด์˜ ์ฐธ์กฐ๊ฐ’์ด ๋ฐ˜ํ™˜๋˜์–ด, student1๊ณผ student2์— ์ €์žฅ๋œ๋‹ค.

  student1๊ณผ student2๋Š” ๊ฐ๊ฐ ์„œ๋กœ ๋‹ค๋ฅธ Student ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•œ๋‹ค.

 

3. ๊ฐ์ฒด ์ •๋ณด ์ถœ๋ ฅ

 printStudent ๋ฉ”์„œ๋“œ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ๋œ ์ฐธ์กฐ๊ฐ’์„ ์‚ฌ์šฉํ•ด ํ•ด๋‹น ๊ฐ์ฒด์˜ ํ•„๋“œ ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.

 

ํ•ต์‹ฌ ํฌ์ธํŠธ
• ์ฐธ์กฐํ˜• ๋ณ€์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ „๋‹ฌ:
  ๊ฐ์ฒด์˜ ์ฐธ์กฐ๊ฐ’์„ ๋ฉ”์„œ๋“œ์— ์ „๋‹ฌํ•˜๋ฏ€๋กœ, ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€์—์„œ ๊ฐ์ฒด์˜ ํ•„๋“œ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์ดˆ๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค.
• ๊ฐ์ฒด ๊ณต์œ :
  ๋™์ผํ•œ ์ฐธ์กฐ๊ฐ’์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ํ•œ ๊ณณ์—์„œ ๊ฐ์ฒด์˜ ํ•„๋“œ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉด ๋‹ค๋ฅธ ๊ณณ์—์„œ๋„ ์˜ํ–ฅ์„ ๋ฏธ์นœ๋‹ค.
• ๊ฐ์ฒด ์ƒ์„ฑ๊ณผ ๋ฐ˜ํ™˜:
  ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€์—์„œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋ฐ˜ํ™˜ํ•˜๋ฉด, ํ˜ธ์ถœํ•œ ์ชฝ์—์„œ ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 


student.name = name;  // ์ด๋ฆ„ ์ดˆ๊ธฐํ™”
student.age = age;    // ๋‚˜์ด ์ดˆ๊ธฐํ™”
student.grade = grade; // ์„ฑ์  ์ดˆ๊ธฐํ™”

๋ฉ”์„œ๋“œ ์•ˆ์˜ ์ด ์ฝ”๋“œ๋“ค์ด ์ดํ•ด๊ฐ€ ์ž˜ ์•ˆ๊ฐ„๋‹ค.

์•„๋งˆ '์ดˆ๊ธฐํ™”'์— ๋Œ€ํ•œ ๊ฐœ๋…์ด ๋ถ€์กฑํ•ด์„œ ๊ทธ๋Ÿฐ๊ฑฐ ๊ฐ™๋‹ค.

 

์ดˆ๊ธฐํ™”์˜ ๊ฐœ๋…

์ดˆ๊ธฐํ™”๋ž€ ๋ณ€์ˆ˜๋‚˜ ๊ฐ์ฒด๊ฐ€ ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋œ ์ƒํƒœ๋กœ ๊ฐ’์„ ์„ค์ •ํ•˜๋Š” ์ž‘์—…์„ ์˜๋ฏธํ•œ๋‹ค.

์ฆ‰, ๋ณ€์ˆ˜๋‚˜ ๊ฐ์ฒด์˜ ํ•„๋“œ์— ์ดˆ๊ธฐ๊ฐ’์„ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์„ “์ดˆ๊ธฐํ™””๋ผ๊ณ  ํ•œ๋‹ค.

 

 

์ด ์ฝ”๋“œ๊ฐ€ ํ•˜๋Š” ์ผ

1. student ๊ฐ์ฒด

  • ์ด ์ฝ”๋“œ๋Š” createStudent ๋ฉ”์„œ๋“œ ๋‚ด๋ถ€์—์„œ ํ˜ธ์ถœ๋œ๋‹ค.

  • Student student = new Student();๋กœ ์ƒˆ๋กญ๊ฒŒ ์ƒ์„ฑ๋œ Student ๊ฐ์ฒด๊ฐ€ ์žˆ๋‹ค.

  • ์ด ๊ฐ์ฒด๋Š” ์ฒ˜์Œ ์ƒ์„ฑ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— name, age, grade์™€ ๊ฐ™์€ ํ•„๋“œ์—๋Š” ์•„์ง ๊ฐ’์ด ์„ค์ •๋˜์ง€ ์•Š์•˜๋‹ค.

      ์˜ˆ๋ฅผ ๋“ค์–ด, name์€ null, age์™€ grade๋Š” ๊ธฐ๋ณธ๊ฐ’์ธ 0์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

2. ์ดˆ๊ธฐํ™” ๊ณผ์ •

student.name = name;

    student ๊ฐ์ฒด์˜ name ํ•„๋“œ์— name ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ๋œ ๊ฐ’์„ ์ €์žฅํ•œ๋‹ค.

    ์ฆ‰, ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ. ์ „๋‹ฌ๋œ ์ด๋ฆ„ ๊ฐ’์„ student ๊ฐ์ฒด์˜ name ํ•„๋“œ์— ์„ค์ •ํ•œ๋‹ค.

student.age = age;        

    age ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌ๋œ ๊ฐ’์„ student ๊ฐ์ฒด์˜ age ํ•„๋“œ์— ์„ค์ •ํ•œ๋‹ค.

student.grade = grade;

์„ฑ์ ์„ ๋‚˜ํƒ€๋‚ด๋Š” grade ๊ฐ’์„ student ๊ฐ์ฒด์˜ grade ํ•„๋“œ์— ์„ค์ •ํ•œ๋‹ค.

 

์ดˆ๊ธฐํ™”์˜ ๋ชฉ์ 

๊ธฐ๋ณธ๊ฐ’์„ ์›ํ•˜๋Š” ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ:

๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋ฉด, ํ•„๋“œ์—๋Š” ์ดˆ๊ธฐ๊ฐ’(๊ธฐ๋ณธ๊ฐ’)์ด ๋“ค์–ด ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด:

 String ํƒ€์ž…์€ ๊ธฐ๋ณธ๊ฐ’์ด null์ด๋‹ค.

 int ํƒ€์ž…์€ ๊ธฐ๋ณธ๊ฐ’์ด 0์ด๋‹ค.

 

 ๊ทธ๋Ÿฌ๋‚˜, ์‹ค์ œ ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” ์ด๋ฆ„์ด๋‚˜ ๋‚˜์ด, ์„ฑ์ ์ฒ˜๋Ÿผ ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฐ’์„ ์„ค์ •ํ•ด์•ผ ํ•œ๋‹ค.

 ์ดˆ๊ธฐํ™”๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด์˜ ์ƒํƒœ๋ฅผ ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฐ’์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

์‚ฌ์šฉ ์ค€๋น„ ์™„๋ฃŒ ์ƒํƒœ๋กœ ๋งŒ๋“ค๊ธฐ:

์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์€ ๊ฐ์ฒด๋‚˜ ๋ณ€์ˆ˜๋Š” ์ œ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ์ดˆ๊ธฐํ™”๋ฅผ ํ†ตํ•ด ํ•ด๋‹น ๊ฐ์ฒด๋‚˜ ๋ณ€์ˆ˜๊ฐ€ ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜๋„๋ก ๋งŒ๋“ ๋‹ค.

 

์ดˆ๊ธฐํ™”์˜ ์˜ˆ

 

๊ฐ์ฒด ์ดˆ๊ธฐํ™” ์ „

Student student = new Student();
System.out.println(student.name);  // null
System.out.println(student.age);   // 0
System.out.println(student.grade); // 0

 

๊ฐ์ฒด ์ดˆ๊ธฐํ™” ํ›„

student.name = "ํ™๊ธธ๋™";
student.age = 15;
student.grade = 90;

System.out.println(student.name);  // ํ™๊ธธ๋™
System.out.println(student.age);   // 15
System.out.println(student.grade); // 90

 

์ดˆ๊ธฐํ™”๋˜์ง€ ์•Š์€ ์ƒํƒœ์—์„œ๋Š” ๊ธฐ๋ณธ๊ฐ’๋งŒ ์ถœ๋ ฅ๋˜์ง€๋งŒ, ์ดˆ๊ธฐํ™” ํ›„์—๋Š” ์„ค์ •๋œ ๊ฐ’์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 ์ดˆ๊ธฐํ™”๋ž€?
 ๋ณ€์ˆ˜๋ฅผ ์ฒ˜์Œ ์‚ฌ์šฉํ•  ๋•Œ ์ ์ ˆํ•œ ๊ฐ’์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ.
 ์ด ์ฝ”๋“œ์—์„œ ์ดˆ๊ธฐํ™”๋ž€?
 Student ๊ฐ์ฒด์˜ name, age, grade ํ•„๋“œ์— ๊ฐ’์„ ์„ค์ •ํ•˜์—ฌ, ๊ฐ์ฒด๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์›ํ•˜๋Š” ์ƒํƒœ๋กœ ๋™์ž‘ํ•˜๋„๋ก ์ค€๋น„์‹œํ‚ค๋Š” ์ž‘์—…์ด๋‹ค.

+ Recent posts