2024-08-12 00:51:13
๋ฐ˜์‘ํ˜•

ํด๋ž˜์Šค ์•ˆ์— ์šฐ๋ฆฌ๊ฐ€ ์„ ์–ธ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋“ค์ด ํฌ๊ฒŒ ์„ธ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค๊ณ  ํ–ˆ๋‹ค.

ํ•„๋“œ์™€ ์ƒ์„ฑ์ž ๊ทธ๋ฆฌ๊ณ  ๋ฉ”์†Œ๋“œ์ธ๋ฐ, ์˜ค๋Š˜์€ ์ƒ์„ฑ์ž์— ๋Œ€ํ•ด ๊ณต๋ถ€๋ฅผ ํ•ด๋ณด๋„๋ก ํ•˜์ž.

 

์ƒ์„ฑ์ž๋ž€?

--->

๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ• ๋•Œ ํ˜ธ์ถœ๋˜์–ด ๊ฐ์ฒด๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ๋ฉ”์†Œ๋“œ(ํ•„๋“œ ์ดˆ๊ธฐํ™”)
ํ˜•ํƒœ์™€ ์—ญํ™œ์ด ์ง€์ •๋˜์–ด ์žˆ๋Š” ๋ฉ”์†Œ๋“œ(ํ•„๋“œ ์ดˆ๊ธฐํ™” ๋ฉ”์†Œ๋“œ)
* ๋ฆฌํ„ดํƒ€์ž…์ด void๋กœ ์ง€์ •๋˜์–ด ์žˆ๋‹ค
* ์ด๋ฆ„์ด ํด๋ž˜์Šค๋ช…์œผ๋กœ ์ง€์ •๋˜์–ด ์žˆ๋‹ค
* new ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด ํ˜ธ์ถœํ•œ๋‹ค
* ์„ ์–ธ๋˜์–ด ์žˆ์ง€ ์•Š์€ ์ƒ์„ฑ์ž๋Š” ํ˜ธ์ถœํ• ์ˆ˜ ์—†๋‹ค
* ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์„ ์–ธํ•˜์ง€ ์•Š์œผ๋ฉด ๊ธฐ๋ณธ ํ˜•ํƒœ์˜ ์ƒ์„ฑ์ž๋ฅผ ์ž๋™ ์„ ์–ธํ•ด์ค€๋‹ค

ํด๋ž˜์Šค๋ช…(์ž๋ฃŒํ˜• ๋งค๊ฐœ๋ณ€์ˆ˜๋ช…..){
ํ•„๋“œ ์ดˆ๊ธฐํ™” ์ฝ”๋“œ
}

 

๊ฐœ๋…์€ ์ด๋ ‡์ง€๋งŒ ์‚ฌ์‹ค ์ฝ”๋“œ๋กœ ๋ณด๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ  ๋น ๋ฅด๋‹ค. ๋ฐ”๋กœ ์ฝ”๋“œ๋ฅผ ๋ณด์ž.

 

์ƒ์„ฑ์ž ์˜ˆ์‹œ

์šฐ์„  ์ƒ์„ฑ์ž๋Š” ์œ„์— ๊ฐœ๋…์— ์จ์ ธ์žˆ๋“ฏ์ด, ํด๋ž˜์Šค์˜ ์ด๋ฆ„๊ณผ ๋˜‘๊ฐ™์ด ์จ์ ธ์•ผํ•œ๋‹ค.

 

์šฐ์„  ์ฒซ๋ฒˆ์งธ๋กœ ์„ ์–ธํ•œ ์ƒ์„ฑ์ž๋ฅผ ์‚ดํŽด๋ณด์ž.

UserVer2() {

          System.out.println("์ƒ์„ฑ์ž ํ˜ธ์ถœ!");

}

์ด๋ผ๋Š” ์ƒ์„ฑ์ž๋Š” ์ถœ๋ ฅ์„ ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ€์งˆ ๋ฟ์ด๋‹ค. ๋‚ด๊ฐ€ ๋งŒ์•ฝ UserVer2 user1 = new UserVer2(); ๋กœ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“  ํ›„์—

System.out.println(user1); ์„ ์ถœ๋ ฅํ•˜๋ฉด ์šฐ๋ฆฌ๊ฐ€ ์˜ˆ์ƒํ•  ์ˆ˜ ์žˆ๋“ฏ์ด ์ฃผ์†Œ๊ฐ’๊ณผ"์ƒ์„ฑ์ž ํ˜ธ์ถœ!" ์ด๋ผ๋Š” ๊ฐ’์ด ๊ฐ™์ด ์ถœ๋ ฅ๋œ๋‹ค.

 

๋‘๋ฒˆ์งธ๋กœ ์„ ์–ธํ•œ ์ƒ์„ฑ์ž๋ฅผ ๋ณด์ž.

UserVer2(String inputId, String inputPw) {

          id = inputId;

          pw = inputPw;

}

ํ•„๋“œ์—์„œ ์„ ์–ธํ•œ id ์™€ pw๋ผ๋Š” ๊ฐ’์„ ์ •ํ•ด์ฃผ๋Š” ์ƒ์„ฑ์ž๋ผ๊ณ  ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค.

String inputId์™€ String inputPw๋ผ๋Š” ๊ฒƒ์€ ๋ฐ”๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

๋งŒ์•ฝ ๋‚ด๊ฐ€ UserVer2 user2 = new UserVer2("kim", "kim1234"); ๋ผ๊ณ  ๋ฉ”์ธ๋ฉ”์†Œ๋“œ์—์„œ ์„ ์–ธ์„ ํ•˜๋ฉด!!

--> user2๋ผ๋Š” ๊ฐ์ฒด์˜ id์—๋Š” kim pw์—๋Š” kim1234๊ฐ€ ์ €์žฅ์ด ๋œ๋‹ค. ๋ฉ”์ธ๋ฉ”์†Œ๋“œ์—์„œ ๋ฐ›์€ ๊ฐ’์ด ๋งค๊ฐœ๋ณ€์ˆ˜์— ์ €์žฅ์ด ๋˜๋ฉด์„œ

๊ทธ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ํ•„๋“œ์— ์žˆ๋Š” ๋ณ€์ˆ˜์— ์˜ํ–ฅ์„ ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค!!

 

์ถ”๊ฐ€๋กœ ์—ฌ๊ธฐ์„œ this.id = id ๋ผ๊ณ  ํ•˜๋Š”๋ฐ, this.id์˜ this๋Š” ํ˜„์žฌ ์ € ์ฝ”๋“œ์ƒ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜ id๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜์™€ ๊ทธ๋ƒฅ ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์ด ๊ฐ™์œผ๋‹ˆ this๋กœ ๊ตฌ๋ถ„์„ ํ•ด์ฃผ๋Š” ๊ฒƒ์ด๋‹ค. ๋ณดํ†ต ๋ณ€์ˆ˜์™€ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์ด ๊ฐ™์•„์•ผ ์ง์„ ๋งž์ถฐ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์‰ฌ์šฐ๋‹ˆ ์ด๋ ‡๊ฒŒ ํ†ต์ƒ์ ์œผ๋กœ ์ •ํ•œ๋‹ค.

 

๋ฐ‘์— ์„ธ๋ฒˆ์งธ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€ ๋ฐฉ์‹์ด์ง€๋งŒ point ๋ณ€์ˆ˜๋งŒ ๋” ์ถ”๊ฐ€๋กœ ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

 

๋ฉ”์ธ๋ฉ”์†Œ๋“œ ํ™”๋ฉด

์ด๋Ÿฐ์‹์œผ๋กœ ๊ฐ์ฒด๋ฅผ ์„ ์–ธํ•จ๊ณผ ๋™์‹œ์— ๋งค๊ฐœ๋ณ€์ˆ˜์— ์ค„ ๊ฐ’์„ ์ž…๋ ฅํ•˜๋ฉด์„œ ๋ฐ”๋กœ id์™€ pw๋ฅผ ๊ฐ ๊ฐ์ฒด์— ๋งž๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋ ‡๊ฒŒ ๋˜๋ฉด ๊ฐ๊ฐ์˜ ์œ ์ €๋“ค์ด ์ œ๊ฐ๊ฐ์˜ ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๋‹ค.

 

์—ฌ๊ธฐ์„œ ์ฃผ์˜ํ•  ์ ์€ ์ƒ์„ฑ์ž๋ฅผ ๋งŒ๋“ค ๋•Œ, ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ 3๊ฐœ๋ฅผ ์คฌ๋Š”๋ฐ ๊ฐ์ฒด๋ฅผ ์„ ์–ธํ• ๋•Œ ์†Œ๊ด„ํ˜ธ ์•ˆ์— 2๊ฐœ๋งŒ ์ ๋Š”๋‹ค? ์ด๋Ÿฌ๋ฉด

์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค. ์ƒ์„ฑ์ž ์ž…์žฅ์—์„œ๋Š” 3๊ฐœ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ฐ›์•„์•ผํ•˜๋Š”๋ฐ 2๊ฐœ๋ฐ–์— ์•ˆ์ฃผ๋‹ˆ ํ™”๊ฐ€๋‚œ ๊ฒƒ์ด๋‹ค. ์ž…๋ ฅ๋˜์ง€ ์•Š์œผ๋‹ˆ

์˜ค๋ฅ˜๊ฐ€ ๋‚˜๋Š” ๊ฒƒ์ด๋‹ค. ์ค‘์š”ํ•˜๋‹ˆ ๊ผญ ํ™•์ธํ•˜์ž

 

์ €๋ ‡๊ฒŒ ํ–ˆ์„๋•Œ์˜ ์‹คํ–‰ ๊ฒฐ๊ณผ์ด๋‹ค.

๊ฒฐ๊ณผ ์ฝ˜์†”์ฐฝ

user1์˜ ๊ฐ’์ด null์ธ ์ด์œ ๋Š” ํ•„๋“œ์—๋งŒ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•ด๋†“๊ณ  ๊ฐ’์„ ํ• ๋‹นํ•˜์ง€ ์•Š์•„์„œ ๊ทธ๋Ÿฐ ๊ฒƒ์ด๋‹ค.

 

์ด๋ ‡๊ฒŒ ์˜ค๋Š˜์€ ์ƒ์„ฑ์ž์— ๋Œ€ํ•˜์—ฌ ์•Œ์•„๋ณด์•˜๋‹ค.

์ƒ์„ฑ์ž๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•  ์ ์€ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ์œ ๋ฌด์™€ ๊ฐฏ์ˆ˜์ด๋‹ค.

์ด๋ฅผ ๊ผญ ํ™•์ธํ•˜๊ณ  ์‚ฌ์šฉํ•˜์ž.

 

728x90

'์–ธ์–ด > JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

JAVA : ์ƒ์†(Inheritance)  (0) 2024.08.16
JAVA : ๋ฉ”์†Œ๋“œ(method)  (0) 2024.08.12
JAVA : ํด๋ž˜์Šค(class)  (1) 2024.08.12
JAVA : 2์ฐจ์› ๋ฐฐ์—ด  (0) 2024.08.09
JAVA : ๋ฐฐ์—ด(2)  (0) 2024.08.09