๐Ÿ““ STUDY/JAVA

๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

JuneBee 2022. 5. 17. 22:51
728x90
๋ฐ˜์‘ํ˜•

๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

ํ˜„์‹ค ์„ธ๊ณ„ ๊ฐ์ฒด, ํด๋ž˜์Šค, ๊ฐ์ฒด์˜ ๊ด€๊ณ„ ํ˜„์‹ค์˜ ๊ฐ์ฒด๊ฐ€ ๊ฐ–๋Š” ์†์„ฑ๊ณผ ๊ธฐ๋Šฅ์€ ์ถ”์ƒํ™” ๋˜์–ด ํด๋ž˜์Šค์— ์ •์˜๋˜๊ณ , ํด๋ž˜์Šค๋Š” ๊ตฌ์ฒดํ™” ๋˜์–ด ํ”„๋กœ๊ทธ๋žจ์˜ ๊ฐ์ฒด(instance, object) ๊ฐ€ ๋œ๋‹ค.

EX: ๋ถ•์–ด๋นต ํ‹€ == type ๊ทœ์ •
๋ถ•์–ด๋นต == ๊ฐ์ฒด

์ฆ‰, ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด๋ฅผ ์ •์˜ํ•ด ๋†“์€ ๊ฐ์ฒด์˜ ์„ค๊ณ„๋„ or ํ‹€๋กœ ์ง์ ‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ณ  ์ง์ ‘ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ "ํ‹€" ์„ ์ œ๊ณตํ•  ๋ฟ์ด๋‹ค. ๋ฐ˜๋ฉด**, ๊ฐ์ฒด** (instance, object ) ๋Š” ํด๋ž˜์Šค๋ฅผ ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์ƒ์„ฑ๋œ ๊ฒƒ์ด๋‹ค.

/* ๋ถ•์–ด๋นตํ‹€ ํด๋ž˜์Šค๋Š” ํ‹€์ผ ๋ฟ, 
 * ์ง์ ‘์‚ฌ์šฉํ• ์ˆ˜ ์—†๋‹ค*/
Public class ๋ถ•์–ด๋นตํ‹€{
		// ๋งด๋ฒ„ ๋ณ€์ˆ˜: 
		String Name, Fillings ;
		int age; //unit: min

		// ๋ฉ”์„œ๋“œ :
		boolean ์‹๋Š”๋‹ค (age) {
		age = this.age;
		return age>= 10 ? true : false;
		}
}

/* ๋ถ•์–ด๋ฉ”์ด์ปค๋ผ๋Š” ํด๋ž˜์Šค์—์„œ,
 * ๋ถ•์–ด๋นต*/
public class ๋ถ•์–ด๋ฉ”์ด์ปค {
public static void main(String[]args)
{

๋ถ•์–ด๋นตํ‹€ ๋ถ•์–ด๋นต = new ๋ถ•์–ด๋นตํ‹€();
๋ถ•์–ด๋นต.Name = "๋ถ•์–ด ์—†๋Š” ๋ถ•์–ด๋นต";
๋ถ•์–ด๋นต.age = "1";
๋ถ•์–ด๋นต.fillings = "์Šˆํฌ๋ฆผ";
๋ถ•์–ด๋นต.์‹๋Š”๋‹ค(age) ; //๊ฒฐ๊ณผ: false
}
}

๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€?

๐Ÿคฆ๐Ÿป‍โ™€๏ธ OOP is APIE,
A : bstraction (์ถ”์ƒํ™”) - ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋ฅผ ์ถ”์ƒํ™” ํ•ด์„œ ํด๋ž˜์Šค๋ฅผ ๊ตฌ์„ฑ
P : olymorphism (๋‹คํ˜•์„ฑ) - ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋ฅผ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํƒ€์ž…์œผ๋กœ ์ฐธ์กฐ
I : nheritacne (์ƒ์†) - ๋ถ€๋ชจํด๋ž˜์Šค์˜ ์ž์‚ฐ์„ ๋ฌผ๋ ค๋ฐ›์•„ ์ž์‹์„ ์ •์˜ํ•จ์œผ๋กœ ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ
E : ncapsulation ( ์บก์Аํ™”) - ๋ฐ์ดํ„ฐ๋ฅผ ์™ธ๋ถ€์— ์ง์ ‘ ๋…ธ์ถœ์‹œํ‚ค์ง€ ์•Š๊ณ  ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด ๋ณดํ˜ธ

 

์•„๋ž˜ APIE ํŽ˜์ด์ง€์— ๊ฐ ๊ฐ์ฒด ์ง€ํ–ฅ์ ์ธ ์š”์†Œ๋ฅผ ์ •๋ฆฌํ•ด๋†“์•˜๋‹ค.

์ถ”์ƒํ™” ๋งํฌ : https://junebee.tistory.com/50

๋‹คํ˜•์„ฑ ๋งํฌ : https://junebee.tistory.com/52

์ƒ์† : https://junebee.tistory.com/51

์บก์Аํ™” : https://junebee.tistory.com/53

 

<์ฃผ์ฒด ์ง€ํ–ฅ> ๋ถ•์–ด๋นต์ด ๋„ˆ๋ฌด ๋จน๊ณ  ์‹ถ์€ ๋ฐ•๋ชจ์”จ๋Š”, ํŒฅ๊ณผ ๋ฐ€์„ ๊ฒฝ์ž‘ํ•˜๊ณ  ๊ด‘์‚ฐ์— ๊ฐ€์„œ ์ฒ ์„ ์–ป๊ณ  ๋Œ€์žฅ๊ฐ„์— ๊ฐ€์„œ ์žฌ๋ จํ•ด์„œ ๋ถ•์–ด๋นตํ‹€์„ ๋งŒ๋“ค๊ณ  ๋ฐ€๊ฐ€๋ฃจ๋ฅผ ๋งŒ๋“ค๊ธฐ์œ„ํ•ด... → ๋ฐ•๋ชจ์”จ๋Š” ๋ถ•์–ด๋นต์„ ๋ชป๋จน์—ˆ๋‹ค๊ณ ..

 

<๊ฐ์ฒด ์ง€ํ–ฅ> ๋ถ•์–ด๋นต์ด ๋„ˆ๋ฌด ๋จน๊ณ ์‹ถ์€ ๋ฐ•๋ชจ์”จ๋Š”, ํฌ์žฅ๋งˆ์ฐจ์— ๊ฐ€์„œ ๋ถ•์–ด๋นต์„ ์‚ฌ์™”๋‹ค → ๋ถ•์–ด๋นต ๋ƒ ๋ƒ 

 

๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์žฅ์ : ๋ธ”๋ก ํ˜•ํƒœ์˜ ๋ชจ๋“ˆํ™”๋œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ

  1. ์‹ ๋ขฐ์„ฑ์ด ๋†’์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค
  2. ์ถ”๊ฐ€/ ์ˆ˜์ • / ์‚ญ์ œ๊ฐ€ ์šฉ์ดํ•˜๋‹ค
  3. ์žฌ์‚ฌ์šฉ์„ฑ์ด ๋†’๋‹ค
728x90
๋ฐ˜์‘ํ˜•