[๊ฐ์ฒด(1)] ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด, ์ ˆ์ฐจ ์ง€ํ–ฅ ์–ธ์–ด, ํด๋ž˜์Šค, ์ถ”์ƒํ™”, ์บก์Аํ™”, ๊ฐ์ฒด

2022. 5. 10. 21:44ยทDev/Java
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ“ƒ ๋ชฉ์ฐจ

๐Ÿ“‚ (1) ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด, ์ ˆ์ฐจ ์ง€ํ–ฅ ์–ธ์–ด, ํด๋ž˜์Šค, ์ถ”์ƒํ™”, ์บก์Аํ™”

๐Ÿ“‚ (2) ํด๋ž˜์Šค

๐Ÿ“‚ (3) package์™€ import

๐Ÿ“‚ (4) ํ•„๋“œ

๐Ÿ“‚ (5) ์ƒ์„ฑ์ž

๐Ÿ“‚ (6) ๋ฉ”์†Œ๋“œ

๐Ÿ“‚ (7) ๊ฐ์ฒด ๋ฐฐ์—ด

๐Ÿ“‚ (8) ์ƒ์†

๐Ÿ“‚ (9) ์˜ค๋ฒ„๋ผ์ด๋”ฉ, ์˜ค๋ฒ„๋กœ๋”ฉ

๐Ÿ“‚ (10) ๋‹คํ˜•์„ฑ

 

๐Ÿ“— ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด

 

๐Ÿ’ป ์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด๋Š” ํฌ๊ฒŒ 2๊ฐ€์ง€๋กœ ๋‚˜๋‰˜์–ด์ง„๋‹ค.

  1. ์ ˆ์ฐจ ์ง€ํ–ฅ ์–ธ์–ด
  2. ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด

 

๐Ÿ’ป ์ ˆ์ฐจ ์ง€ํ–ฅ ์–ธ์–ด๋ž€?

: ๋ฌผ์ด ์œ„์—์„œ ์•„๋ž˜๋กœ ํ๋ฅด๋Š” ๊ฒƒ ์ฒ˜๋Ÿผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”์‹œ๋˜๋ฉฐ, ํ”„๋กœ๊ทธ๋žจ ์ „์ฒด๊ฐ€ ์œ ๊ธฐ์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜๋„๋ก ๋งŒ๋“  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ฒ•์ด๋‹ค. ์ปดํ“จํ„ฐ์˜ ์ž‘์—… ์ฒ˜๋ฆฌ ๋ฐฉ์‹๊ณผ ์œ ์‚ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด๋ณด๋‹ค ๋” ๋นจ๋ฆฌ ์ฒ˜๋ฆฌ๋˜์–ด ์‹œ๊ฐ„์ ์œผ๋กœ ์œ ๋ฆฌํ•˜๋‹ค. 

 

 

๐Ÿ“ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด๊ฐ€ ๋“ฑ์žฅํ•˜๊ฒŒ ๋œ ๋ฐฐ๊ฒฝ์€?

: ์ ˆ์ฐจ ์ง€ํ–ฅ ์–ธ์–ด๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ์งœ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ปดํ“จํ„ฐ์˜ ๊ตฌ์กฐ๊ฐ€ ์–ด๋–ค์ง€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ํ˜๋Ÿฌ๊ฐ€๋Š”์ง€ ์ดํ•ดํ•˜๋ฉด์„œ ์ปดํ“จํ„ฐ์˜ ์ž…์žฅ์—์„œ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค์—ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ํ”„๋กœ๊ทธ๋žจ๋“ค์€ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๋•Œ๋Š” ๊ต‰์žฅํžˆ ์–ด๋ ต๊ฒŒ ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌํ˜„ํ•ด์•ผํ–ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ์‚ฌ๋žŒ๋“ค์ด ๋ณต์žกํ•œ ํ”„๋กœ๊ทธ๋žจ์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์„๊นŒ ํ•˜๋‹ค๊ฐ€ ์‚ฌ๋žŒ์ด ํ˜„์‹ค์„ ์ธ์‹ํ•˜๋Š” ์‚ฌ๊ณ ๋ฐฉ์‹์„ ์ปดํ“จํ„ฐ๊ฐ€ ์ธ์‹ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข€ ๋” ์‰ฝ๊ฒŒ ๊ตฌํ˜„ ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋˜์—ˆ๋‹ค. 

 

 

๐Ÿ’ป ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด๋ž€?

: ํ”„๋กœ๊ทธ๋ž˜๋ฐ์— ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ƒํ™”์‹œ์ผœ ์ƒํƒœ์™€ ํ–‰์œ„๋ฅผ ๊ฐ€์ง„ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ณ  ๊ทธ ๊ฐ์ฒด๋“ค์˜ ์œ ๊ธฐ์ ์ธ ์ƒํ˜ธ์ž‘์šฉ์„ ํ†ตํ•ด ๋กœ์ง์„ ๊ตฌ์„ฑํ•˜๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ๋ฒ•์ด๋‹ค. ์‚ฌ๋žŒ์€ ํ˜„์‹ค์„ ๊ฐ์ฒด์™€ ๊ฐ์ฒด๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์œผ๋กœ ์ธ์‹ํ•œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์—ฌ๊ธฐ์„œ ๊ฐ์ฒด๋ž€, ๋ˆˆ์— ๋ณด์ด๋Š” ๊ฒƒ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์†Œ๋ฆฌ, ๊ณต๊ธฐ, ์ˆ˜ํ•™๊ณต์‹ ๊ฐ™์ด ๋ˆˆ์— ๋ณด์ด์ง€ ์•Š๋Š” ๋ฌดํ˜•์ ์ธ ๊ฒƒ๋“ค์˜ ๊ฐ๊ฐ ๋…๋ฆฝ์ ์ธ ๋‹จ์œ„๋ฅผ ์ง€์นญํ•œ๋‹ค. ํ˜„์‹ค ์„ธ๊ณ„๋Š” ์‚ฌ๋ฌผ์ด๋‚˜ ๊ฐœ๋…์ฒ˜๋Ÿผ ๋…๋ฆฝ๋˜๊ณ  ๊ตฌ๋ถ„๋˜๋Š” ๊ฐ๊ฐ์˜ ๊ฐ์ฒด๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์œผ๋ฉฐ, ๋ฐœ์ƒํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๊ฑด๋“ค์€ ๊ฐ์ฒด๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์ด๋‹ค. ์ด ๊ฐœ๋…์„ ์ปดํ“จํ„ฐ๋กœ ์˜ฎ๊ฒจ ๋†“์•„ ๋งŒ๋“ค์–ด๋‚ธ ๊ฒƒ์ด ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์ด๋‹ค.

 

 

๐Ÿ“ ์ž๋ฐ”์—์„œ ๊ฐ์ฒด(Object)๋ž€?

: ์ปดํ“จํ„ฐ๊ฐ€ ์ธ์‹ํ•˜๊ฒŒ ํด๋ž˜์Šค๋ฅผ ํ†ตํ•œ new ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ์ƒ์„ฑํ•œ ๊ฒƒ

์‚ฌ๋žŒ์˜ ์‚ฌ๊ณ ๋ฐฉ์‹์ด ์ด๋ ‡๊ฒŒ ์ •์˜๋˜์–ด์žˆ๋Š”๋ฐ ์ด์ œ ์ด๊ฑธ ์ปดํ“จํ„ฐ๊ฐ€ ์ด๊ฒƒ์„ ์ธ์‹์‹œ์ผœ์ค˜์•ผํ•œ๋‹ค. ์ปดํ“จํ„ฐ๊ฐ€ ์ธ์‹ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์˜ฌ๋ ค์ ธ์•ผ ๋œ๋‹ค๋Š” ๊ฒƒ๊ณผ ๊ฐ™๋‹ค. ๊ฐ์ฒด์™€ ๊ฐ์ฒด์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ํด๋ž˜์Šค๋ผ๋Š” ํ˜•ํƒœ๋กœ ์ƒ์„ฑํ•œ ํ›„, ๊ฐ€์ƒํ˜„์‹ค์„ธ๊ณ„ ์˜์—ญ์ธ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— new ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด์„œ ์˜ฌ๋ ค์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

 

 

๐Ÿ“ ํด๋ž˜์Šค

: ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ์ƒ์„ฑ ํ•  ๊ฐ์ฒด๋ฅผ ์ฐ์–ด๋‚ด๋Š” ์„ค๊ณ„๋„, ๋ถ•์–ด๋นต ํ‹€

: ๊ฐ์ฒด์˜ ํŠน์„ฑ์— ๋Œ€ํ•œ ์ •์˜๋ฅผ ํ•œ ๊ฒƒ์œผ๋กœ ์บก์Аํ™”๋ฅผ ํ†ตํ•ด ๊ธฐ๋Šฅ์„ ํฌํ•จํ•œ ๊ฐœ๋…,

: ํ”„๋กœ๊ทธ๋žจ์— ํ•„์š”ํ•œ ์‚ฌ๋ฌผ์ด๋‚˜ ๊ฐœ๋…์˜ ๊ณตํ†ต ์š”์†Œ๋ฅผ ์ถ”์ƒํ™”(abstraction)ํ•˜์—ฌ ์ •์˜

ex) ํšŒ์›, ์ž๋™์ฐจ, ๋„์„œ

 

ํด๋ž˜์Šค๋ž€, ๊ฐ์ฒด๋ฅผ ์ •์˜ํ•ด๋†“์€ ๊ฒƒ์ด๋‹ค. ๊ฐ์ฒด๋Š” ํด๋ž˜์Šค๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋งŒ๋“ค์–ด์ง„ ๊ฒฐ๊ณผ๋ฌผ์ด๋‹ค. ์ฆ‰ ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด๋ฅผ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ์„ค๊ณ„๋„์ด๋‹ค. ๋˜ํ•œ ๊ฐ์ฒด์˜ ํŠน์„ฑ์— ๋Œ€ํ•ด ์ •์˜ํ•ด๋†“์€ ๊ฒƒ์œผ๋กœ, ์ ‘๊ทผ์ œํ•œ์ž๋ฅผ ํ†ตํ•ด์„œ ๊ฐ์ฒด์˜ ์™ธ๋ถ€์—์„œ ๋‚ด๋ถ€๋ฐ์ดํ„ฐ์˜ ์ ‘๊ทผ์„ ํ†ต์ œํ•˜๋Š” ์บก์Аํ™”๊ฐœ๋…์ด ํฌํ•จ๋œ ๊ฒƒ์ด๊ณ , ํ”„๋กœ๊ทธ๋žจ์— ํ•„์š”ํ•œ ์‚ฌ๋ฌผ์ด๋‚˜ ๊ฐœ๋…์˜ ๊ณตํ†ต์š”์†Œ๋ฅผ ์ถ”์ƒํ™”๋ฅผ ํ†ตํ•ด์„œ ์ •์˜ํ•œ ๊ฒƒ์„ ๋งํ•œ๋‹ค.

 

 

๐Ÿ“ ์ถ”์ƒํ™”

: ๊ฐ์ฒด์—์„œ ๊ณตํ†ต๋œ ์†์„ฑ๊ณผ ํ–‰์œ„๋ฅผ ์ถ”์ถœํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

: ํ”„๋กœ๊ทธ๋žจ์—์„œ ํ•„์š”ํ•œ ๊ณตํ†ต์ ์„ ์ถ”์ถœํ•˜๊ณ , ๋ถˆํ•„์š”ํ•œ ๊ณตํ†ต์ ์„ ์ œ๊ฑฐํ•˜๋Š” ๊ณผ์ •

ex) ๊ตญ๊ฐ€์—์„œ ๊ตญ๋ฏผ ์ •๋ณด ๊ด€๋ฆฌ์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๋ ค๊ณ  ํ•  ๋•Œ, ํ”„๋กœ๊ทธ๋žจ์—์„œ ์š”๊ตฌ๋˜๋Š” "๊ตญ๋ฏผ ํ•œ ์‚ฌ๋žŒ"์˜ ์ •๋ณด๋ฅผ ์ถ”์ƒํ™”ํ•œ๋‹ค๋ฉด?

 

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

 

 

๐Ÿ”น ์ถ”์ƒํ™” ์˜ˆ์‹œ

: ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ณ€์ˆ˜๋ช…(๋ฐ์ดํ„ฐ ์ด๋ฆ„)๊ณผ ์ž๋ฃŒํ˜•(๋ฐ์ดํ„ฐ ํƒ€์ž…) ์ •๋ฆฌ

 

๐Ÿ’ป ์ถ”์ƒํ™” ๊ณผ์ •์„ ์ฝ”๋“œ๋กœ ํ‘œํ˜„ํ•ด๋ณด๋Š” ์‹ค์Šต

package kh.oop1.day01.exam;
public class People {
	String head;//๋จธ๋ฆฌ
	String heart;//์‹ฌ์žฅ
	String eye;//๋ˆˆ
	String nose;//์ฝ”
	String mouth;//์ž…
	String name;//์ด๋ฆ„
	char gender;//์„ฑ๋ณ„
	double height;//ํ‚ค
	
	//์ƒ๊ฐํ•œ๋‹ค
	public void think() {
		System.out.println("์ƒ๊ฐํ•œ๋‹ค.");
	}
	//๋‹ฌ๋ฆฐ๋‹ค
	public void run() {
		System.out.println("๋‹ฌ๋ฆฐ๋‹ค.");
	}
	//์ž”๋‹ค
	public void sleep() {
		System.out.println("์ž”๋‹ค.");
	}
}
package kh.oop1.day01.exam;
public class ParkingManagement {
	String carNum;	//์ฐจ๋Ÿ‰๋ฒˆํ˜ธ
	String inTime;	//์ž…์ฐจ์ผ์‹œ
	String outTime;	//์ถœ์ฐจ์ผ์‹œ
	String parkingTime;	//์ฃผ์ฐจ์‹œ๊ฐ„
	int parkingFee;	//์ฃผ์ฐจ์š”๊ธˆ
	int discounts;	//ํ• ์ธ๋‚ด์—ญ
	String carType;	//์ฐจ๋Ÿ‰๊ตฌ๋ถ„(์ผ๋ฐ˜/๋“ฑ๋ก)
	String carPicture;	//์ฐจ๋Ÿ‰์‚ฌ์ง„
	String paymentType;	//์ง€๋ถˆ๋ฐฉ๋ฒ•(ํ˜„๊ธˆ/์นด๋“œ)
	
	//์ฃผ์ฐจ์š”๊ธˆ์ •์‚ฐ
	public void parkingPay(String parkingTime, int discounts) {
		System.out.println("์ฃผ์ฐจ์š”๊ธˆ์ •์‚ฐ ๋ฉ”์†Œ๋“œ");
	}
}

 

 

๐Ÿ“ ์บก์Аํ™”

: ์ถ”์ƒํ™”๋ฅผ ํ†ตํ•ด ์ •๋ฆฌ๋œ ๋ฐ์ดํ„ฐ๋“ค๊ณผ ๊ธฐ๋Šฅ์„ ํด๋ž˜์Šค๋ผ๋Š” ํ•˜๋‚˜์˜ ์บก์А๋กœ ๋ฌถ์–ด ๊ด€๋ฆฌํ•˜๋Š” ๊ธฐ๋ฒ•

: ํด๋ž˜์Šค์˜ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ชฉ์ ์ธ ๋ฐ์ดํ„ฐ์˜ ์ ‘๊ทผ ์ œํ•œ์„ ์›์น™์œผ๋กœ ํ•˜์—ฌ ํด๋ž˜์Šค ์™ธ๋ถ€์—์„œ ๋ฐ์ดํ„ฐ์˜ ์ง์ ‘ ์ ‘๊ทผ์„ ๋ง‰๊ณ , ๋Œ€์‹  ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํ•จ์ˆ˜๋“ค์„ ํด๋ž˜์Šค ๋‚ด๋ถ€์— ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

 

 

๐Ÿ”น ์บก์Аํ™”์˜ ํŠน์„ฑ

  1. ์ถ”์ƒํ™” ๋‹จ์œ„๊ฐ€ ๋œ๋‹ค.
  2. ์žฌ์‚ฌ์šฉ ๋‹จ์œ„๊ฐ€ ๋œ๋‹ค. 
  3. ์ •๋ณด ์€๋‹‰์„ ์‹คํ˜„ํ•œ๋‹ค.

 

๐Ÿ”น ์บก์Аํ™” ์›์น™

  1. ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์ ‘๊ทผ ๊ถŒํ•œ์€ private์„ ์›์น™์œผ๋กœ ํ•œ๋‹ค.
  2. ํด๋ž˜์Šค์˜ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ์—ฐ์‚ฐ ์ฒ˜๋ฆฌ๋ฅผ ๋ชฉ์ ์œผ๋กœ ํ•˜๋Š” ํ•จ์ˆ˜๋“ค์„ ํด๋ž˜์Šค ๋‚ด๋ถ€์— ์ž‘์„ฑํ•œ๋‹ค.
  3. ๋ฉค๋ฒ„ ํ•จ์ˆ˜๋Š” ํด๋ž˜์Šค ๋ฐ–์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก public์œผ๋กœ ์„ค์ •ํ•œ๋‹ค.

ex) ์ž…๊ธˆ, ์ถœ๊ธˆํ•˜๋Š” Account ํด๋ž˜์Šค

: ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์— private์„ ๊ฑธ์–ด์„œ ํด๋ž˜์Šค ์™ธ๋ถ€์—์„œ ๋ฉค๋ฒ„ ๋ณ€์ˆ˜์— ์ง์ ‘์ ์œผ๋กœ ์ ‘๊ทผํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•œ๋‹ค. (๊ณ„์ขŒ๋ฒˆํ˜ธ๋‚˜ ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ๊ฐ™์€ ๊ฐ’ ๋ณ€๊ฒฝ ๋ชปํ•˜๊ฒŒ ํ•จ) ๋Œ€์‹  ์ž…๊ธˆ๊ธˆ์•ก, ์ถœ๊ธˆ๊ธˆ์•ก ๋“ฑ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ค˜๋„ ๋˜๋Š” ๋ถ€๋ถ„์„ public ๋ฉ”์†Œ๋“œ๋กœ ๋งŒ๋“ค์–ด์ค€๋‹ค. ์ด public ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด์„œ๋งŒ private๋ฉ”์†Œ๋“œ๋กœ ์ง์ ‘ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค. ์ด๋ฅผ ์บก์Аํ™”๋ผ๊ณ  ํ•œ๋‹ค.

 

 

๐Ÿ’ป ์บก์Аํ™” ๊ณผ์ •์„ ์ฝ”๋“œ๋กœ ํ‘œํ˜„ํ•ด๋ณด๋Š” ์‹ค์Šต

package kh.oop1.day01.exam;

public class Pet {
	private String petType;//ํŽซ์˜ ์ข…๋ฅ˜
	private String petName;//ํŽซ์˜ ์ด๋ฆ„
	private int petAge;//ํŽซ์˜ ๋‚˜์ด
	
	//getter(ํŽซ์˜ ์ข…๋ฅ˜๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์„ ๋•Œ)
	public String getPetType() {
		return petType;
	}
	
	public String getPetName() {
		return petName;
	}
	
	public int getPetAge() {
		return petAge;
	}
	
	//setter(ํŽซ์˜ ์ข…๋ฅ˜ ๊ฐ’์„ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์„ ๋•Œ)
	public void setPetType(String petType) {
		this.petType = petType;
	}
	
	public void setPetName(String petName) {
		this.petName = petName;
	}
	
	public void setPetAge(int petAge) {
		this.petAge = petAge;
	}
}
package kh.oop1.day01.run;

import kh.oop1.day01.exam.Pet;

public class Run {
	public static void main(String[] args) {
		Pet p = new Pet();
		p.getPetName();
	}
}

 

๐Ÿ“ ๊ฐ์ฒด 

: ํ˜„์‹ค์— ์กด์žฌํ•˜๋Š” ๋…๋ฆฝ์ ์ด๋ฉด์„œ ํ•˜๋‚˜๋กœ ์ทจ๊ธ‰๋˜๋Š” ์‚ฌ๋ฌผ์ด๋‚˜ ๊ฐœ๋…์œผ๋กœ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์—์„œ ๊ฐ์ฒด์˜ ๊ฐœ๋…์€ ํด๋ž˜์Šค์— ์ •์˜๋œ ๋‚ด์šฉ๋Œ€๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ํ• ๋‹น๋œ ๊ฒฐ๊ณผ๋ฌผ(Object)

 

๐Ÿ”น ๊ฐ์ฒด(Instance)์˜ ํ• ๋‹น

: new ์—ฐ์‚ฐ์ž์™€ ์ƒ์„ฑ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์ฒด ์ƒ์„ฑ ์‹œ heap ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์„œ๋กœ ๋‹ค๋ฅธ ์ž๋ฃŒํ˜•์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์—ฐ์†์œผ๋กœ ๋‚˜์—ด/ํ• ๋‹น๋œ ๊ฐ์ฒด ๊ณต๊ฐ„

 

package kh.oop1.day01.exam;

public class Pet {
	public static String petType;//ํŽซ์˜ ์ข…๋ฅ˜ (ํด๋ž˜์Šค ๋ณ€์ˆ˜)
	private String petName;//ํŽซ์˜ ์ด๋ฆ„
	private int petAge;//ํŽซ์˜ ๋‚˜์ด
	
	// ์ƒ์„ฑ์ž
	public Pet() {
		
	}
	
	
	// ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋Š” ์ƒ์„ฑ์ž
	public Pet(String petType, String petName, int petAge) {
		this.petType = petType;
		this.petName = petName;
		this.petAge = petAge;
	}
	
	
	//getter(ํŽซ์˜ ์ข…๋ฅ˜๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์„ ๋•Œ)
	public String getPetType() {
		return petType;
	}
	
	public String getPetName() {
		return petName;
	}
	
	public int getPetAge() {
		return petAge;
	}
	
	//setter(ํŽซ์˜ ์ข…๋ฅ˜ ๊ฐ’์„ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ์„ ๋•Œ)
	public void setPetType(String petType) {
		this.petType = petType;
	}
	
	public void setPetName(String petName) {
		this.petName = petName;
	}
	
	public void setPetAge(int petAge) {
		this.petAge = petAge;
	}
	
}
package kh.oop1.day01.run;

import kh.oop1.day01.exam.Pet;

public class Run {
	public static void main(String[] args) {
		//Pet p = new Pet();
		Pet p1 = new Pet("์‹œ๋ฒ ๋ฆฌ์•ˆํ—ˆ์Šคํ‚ค", "๋ฏธ๋ฏธ", 1);
		Pet p2 = new Pet("ํ‘ธ๋“ค", "ํ‘ธ๋‹ˆ" , 2);
		Pet p3 = new Pet("์ง„๋—๊ฐœ" , "์žฅ๊ตฐ" , 2);
		
		System.out.println("ํŽซ ์ข…๋ฅ˜ : " +p1.getPetType() +
				           "ํŽซ ์ด๋ฆ„ : " +p1.getPetName() +
				           "ํŽซ ๋‚˜์ด : " + p1.getPetAge());
		
		System.out.println("ํŽซ ์ข…๋ฅ˜ : " +p2.getPetType() +
		           "ํŽซ ์ด๋ฆ„ : " +p2.getPetName() +
		           "ํŽซ ๋‚˜์ด : " + p2.getPetAge());
		
		System.out.println("ํŽซ ์ข…๋ฅ˜ : " +p3.getPetType() +
		           "ํŽซ ์ด๋ฆ„ : " +p3.getPetName() +
		           "ํŽซ ๋‚˜์ด : " + p3.getPetAge());
	}
}
/*
ํŽซ ์ข…๋ฅ˜ : ์‹œ๋ฒ ๋ฆฌ์•ˆํ—ˆ์Šคํ‚คํŽซ ์ด๋ฆ„ : ๋ฏธ๋ฏธํŽซ ๋‚˜์ด : 1
ํŽซ ์ข…๋ฅ˜ : ํ‘ธ๋“คํŽซ ์ด๋ฆ„ : ํ‘ธ๋‹ˆํŽซ ๋‚˜์ด : 2
ํŽซ ์ข…๋ฅ˜ : ์ง„๋—๊ฐœํŽซ ์ด๋ฆ„ : ์žฅ๊ตฐํŽซ ๋‚˜์ด : 2
*/

 

 


๐Ÿ’ก ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ณ , ๊ทธ ํด๋ž˜์Šค ์•ˆ์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ๋งŒ๋“ ๋‹ค.

๐Ÿ’ก ๊ทธ๋Ÿฐ ๋‹ค์Œ new ์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ธ์Šคํ„ด์Šค ์ฆ‰ ๊ฐ์ฒด๋“ค์„ ๋งŒ๋“ค์ˆ˜์žˆ๋‹ค

๐Ÿ’ก setOprands ๋ผ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด์„œ ์›ํ•˜๋Š” ์ธ์ž ๊ฐ’์„ ๋„ฃ์–ด์ค„ ์ˆ˜ ์žˆ๋‹ค. 

 

package test0531;

//ํด๋ž˜์Šค๋ฅผ ๋”ฑ ํ•œ๋ฒˆ๋งŒ ์ •์˜ํ•˜๊ณ , ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ์ฒด(์ธ์Šคํ„ด์Šค)๋ฅผ ์ƒ์„ฑํ•ด์„œ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.
class Calculator {
	int left, right;
	
	public void setOprands (int a, int b) {
		this.left = a;
		this.right = b;
	}
	
	public void sum() {
		System.out.println(this.left+this.right);
	}
	
	public void avg() {
		System.out.println((this.left+this.right)/2);
	}
}


public class Main {

	public static void main(String[] args) {
		Calculator c1 = new Calculator();
		c1.setOprands(3, 5);
		c1.sum();
		c1.avg();
		
		Calculator c2 = new Calculator();
		c2.setOprands(6, 7);
		c2.sum();
		c2.avg();
	}

}
/*
8
4
13
6
*/

 ๐Ÿ“Œ this.left this.right ๋Š” class Calculator ๋‚ด๋ถ€์˜ int left, right๋ฅผ ๊ฐ€๋ฆฌํ‚จ๋‹ค. 

728x90
๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

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

[๊ฐ์ฒด(3)] package์™€ import  (0) 2022.05.10
[๊ฐ์ฒด(2)] ํด๋ž˜์Šค, ์„ ์–ธ, ์ ‘๊ทผ์ œํ•œ์ž, ์ƒ์„ฑ์ž, getter, setter  (0) 2022.05.10
[JAVA๊ธฐ์ดˆ(17)] ๋น™๊ณ  ๊ฒŒ์ž„ ์‹ค์Šต  (0) 2022.05.09
[JAVA๊ธฐ์ดˆ(16)] 2์ฐจ์› ๋ฐฐ์—ด ์‹ค์Šต(1), (2)  (0) 2022.05.08
[JAVA๊ธฐ์ดˆ(15)] 2์ฐจ์› ๋ฐฐ์—ด  (0) 2022.05.08
'Dev/Java' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [๊ฐ์ฒด(3)] package์™€ import
  • [๊ฐ์ฒด(2)] ํด๋ž˜์Šค, ์„ ์–ธ, ์ ‘๊ทผ์ œํ•œ์ž, ์ƒ์„ฑ์ž, getter, setter
  • [JAVA๊ธฐ์ดˆ(17)] ๋น™๊ณ  ๊ฒŒ์ž„ ์‹ค์Šต
  • [JAVA๊ธฐ์ดˆ(16)] 2์ฐจ์› ๋ฐฐ์—ด ์‹ค์Šต(1), (2)
๋ธ”ํ˜œ
๋ธ”ํ˜œ
  • ๋ธ”ํ˜œ
    Blehye Dev
    ๋ธ”ํ˜œ
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (133)
      • Dev (69)
        • Java (45)
        • HTML5 CSS3 (16)
        • Javascript (2)
        • ๊ตญ๋น„ํ•™์› (4)
        • Error! (2)
      • Algorithm (12)
        • PS (9)
        • Algorithm (3)
      • English (22)
        • Webtoon (6)
        • Grammar In Use (15)
      • DAILY (20)
        • Trip (10)
        • Musical (2)
        • Swimming (5)
        • Book (1)
        • Test (1)
      • etc. (10)
        • Display (10)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • STUDY
    • DAILY
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ํ™๋Œ€๊ฐœ๋ฏธ
    SKCT๊ฟ€ํŒ
    ํฐ์—ฌ์šธ๋ฌธํ™”๋งˆ์„
    SKCTํ›„๊ธฐ
    ๋ถ€์‚ฐ์—ฌํ–‰
    ์ธ์ ์„ฑ
    ํ•˜์ด๋‹‰์Šค
    ์—ฌ์žํ˜ผ์ž์—ฌํ–‰
    SKCTํŒ
    SKCT์‹œํ—˜
    SKํ•˜์ด๋‹‰์Šค
    ํ˜ผ์ž์—ฌํ–‰
    SKCT
    ๋ถ€์‚ฐํ˜ผ์ž์—ฌํ–‰
    ํƒœ์ข…๋Œ€
    ๊ฐ์ฒœ๋ฌธํ™”๋งˆ์„
    ์†ก๋„ํ•ด์ˆ˜์š•์žฅ
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • ๋ฐ˜์‘ํ˜•
    250x250
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
๋ธ”ํ˜œ
[๊ฐ์ฒด(1)] ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด, ์ ˆ์ฐจ ์ง€ํ–ฅ ์–ธ์–ด, ํด๋ž˜์Šค, ์ถ”์ƒํ™”, ์บก์Аํ™”, ๊ฐ์ฒด
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”