Search

Java ์ธํ„ฐํŽ˜์ด์Šค ์ฝ”๋”ฉ

Java ์ธํ„ฐํŽ˜์ด์Šค ์ฝ”๋”ฉ ์˜์ƒ ์š”์•ฝ

์ด๋ฒˆ ์˜์ƒ์—์„œ๋Š” Java์—์„œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค๊ณ , ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ณผ์ •์„ ๋‹จ๊ณ„๋ณ„๋กœ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•ด ์ค๋‹ˆ๋‹ค. ๋ฆฌ๋ชจํŠธ ์ปจํŠธ๋กค(Remote Control) ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค๊ณ , ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ์‹œ์นด(Alcica)์™€ ๋“œ๋ก (Drone) ํด๋ž˜์Šค๋ฅผ ํ†ตํ•ด ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ํ™œ์šฉ๋ฒ•์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชฉ์ฐจ

1.
์ธํ„ฐํŽ˜์ด์Šค ๋งŒ๋“ค๊ธฐ์™€ ๊ธฐ๋ณธ ๊ฐœ๋… ์„ค๋ช… [00:00:01]
2.
์ธํ„ฐํŽ˜์ด์Šค ๋‚ด ์ƒ์ˆ˜์™€ ์ถ”์ƒ ๋ฉ”์†Œ๋“œ ์ •์˜ํ•˜๊ธฐ [00:01:35]
3.
์ดํด๋ฆฝ์Šค์—์„œ ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์กฐ ์‚ดํŽด๋ณด๊ธฐ (static final, public abstract) [00:02:57]
4.
์ถ”์ƒ ๋ฉ”์†Œ๋“œ์™€ ๋””ํดํŠธ ๋ฉ”์†Œ๋“œ ์ฐจ์ด์  [00:05:44]
5.
์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ํด๋ž˜์Šค ์ž‘์„ฑ (์‹œ์นด ํด๋ž˜์Šค) [00:10:49]
6.
๋“œ๋ก  ํด๋ž˜์Šค ๊ตฌํ˜„ ๋ฐ ๋ณต์‚ฌ ํ™œ์šฉ๋ฒ• [00:18:33]
7.
๊ฐ์ฒด ์ƒ์„ฑ๊ณผ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ ์‹ค์Šต (๋“œ๋ผ์ด๋ฒ„ ํด๋ž˜์Šค) [00:31:05]
8.
์ธํ„ฐํŽ˜์ด์Šค ํ™œ์šฉ ์˜ˆ์‹œ์™€ ๋ฆฌ๋ชจ์ปจ ๊ฐœ๋… ์ •๋ฆฌ [00:37:02]
9.
๋งˆ๋ฌด๋ฆฌ ๋ฐ ์ธํ„ฐํŽ˜์ด์Šค ์‹ค์Šต ์š”์•ฝ [00:40:22]

์ธํ„ฐํŽ˜์ด์Šค ๋งŒ๋“ค๊ธฐ์™€ ๊ธฐ๋ณธ ๊ฐœ๋… ์„ค๋ช… [00:00:01]

โ€ข
์ธํ„ฐํŽ˜์ด์Šค๋Š” โ€˜์„ค๊ณ„๋„โ€™ ๊ฐ™์€ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.
โ€ข
์˜ˆ๋ฅผ ๋“ค์–ด โ€˜๋ฆฌ๋ชจํŠธ ์ปจํŠธ๋กค(Remote Control)โ€™์ด๋ผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค๊ณ , ์ด๊ฑธ ๊ตฌํ˜„ํ•˜๋Š” โ€˜์‹œ์นด(Alcica)โ€™์™€ โ€˜๋“œ๋ก (Drone)โ€™ ํด๋ž˜์Šค๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
โ€ข
์ธํ„ฐํŽ˜์ด์Šค๋Š” โ€˜์ƒ์ˆ˜โ€™์™€ โ€˜์ถ”์ƒ ๋ฉ”์†Œ๋“œโ€™๋ฅผ ์„ ์–ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ธํ„ฐํŽ˜์ด์Šค ๋‚ด ์ƒ์ˆ˜์™€ ์ถ”์ƒ ๋ฉ”์†Œ๋“œ ์ •์˜ํ•˜๊ธฐ [00:01:35]

โ€ข
์ธํ„ฐํŽ˜์ด์Šค ์•ˆ์—๋Š” โ€˜์ตœ์ € ์†๋ ฅ(minSpeed)โ€™, โ€˜์ตœ๊ณ  ์†๋ ฅ(maxSpeed)โ€™ ๊ฐ™์€ ์ƒ์ˆ˜๋ฅผ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค.
โ€ข
โ€˜์ถ”์ƒ ๋ฉ”์†Œ๋“œโ€™๋Š” ๋ฉ”์†Œ๋“œ์˜ ์ด๋ฆ„๊ณผ ๋งค๊ฐœ๋ณ€์ˆ˜๋งŒ ์„ ์–ธํ•˜๊ณ , ์‹ค์ œ ๋‚ด์šฉ์€ ๊ตฌํ˜„ ํด๋ž˜์Šค์—์„œ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
โ€ข
์˜ˆ) ์ „์› ์ผœ๊ธฐ(onPower), ์ „์› ๋„๊ธฐ(offPower), ์†๋„ ์กฐ์ ˆ(setSpeed) ๊ฐ™์€ ๋ฉ”์†Œ๋“œ

์ดํด๋ฆฝ์Šค์—์„œ ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์กฐ ์‚ดํŽด๋ณด๊ธฐ (static final, public abstract) [00:02:57]

โ€ข
์ธํ„ฐํŽ˜์ด์Šค์— ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” ์ž๋™์œผ๋กœย static finalย (๋ณ€ํ•˜์ง€ ์•Š๋Š” ์ƒ์ˆ˜)๋กœ ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
โ€ข
์ถ”์ƒ ๋ฉ”์†Œ๋“œ๋Š” ์ž๋™์œผ๋กœย public abstract๊ฐ€ ๋ถ™์Šต๋‹ˆ๋‹ค.
โ€ข
์˜ˆ๋ฅผ ๋“ค์–ด,ย int MAX_SPEED = 10;๋Š” ์‹ค์ œ๋กœย public static final int MAX_SPEED = 10;์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.
โ€ข
์ดํด๋ฆฝ์Šค์˜ โ€˜์•„์›ƒ๋ผ์ธโ€™ ํƒญ์—์„œ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถ”์ƒ ๋ฉ”์†Œ๋“œ์™€ ๋””ํดํŠธ ๋ฉ”์†Œ๋“œ ์ฐจ์ด์  [00:05:44]

โ€ข
์ถ”์ƒ ๋ฉ”์†Œ๋“œ๋Š” ๊ตฌํ˜„ ํด๋ž˜์Šค์—์„œ ๋ฐ˜๋“œ์‹œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ(์žฌ์ •์˜)ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
โ€ข
๋””ํดํŠธ ๋ฉ”์†Œ๋“œ๋Š” ์ธํ„ฐํŽ˜์ด์Šค ์•ˆ์—์„œ ๊ธฐ๋ณธ ๊ตฌํ˜„(์ฝ”๋“œ)์„ ์ œ๊ณตํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋กœ, ๊ตฌํ˜„ ํด๋ž˜์Šค์—์„œ ์„ ํƒ์ ์œผ๋กœ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
์˜ˆ๋ฅผ ๋“ค์–ด, โ€˜๋ฐฐํ„ฐ๋ฆฌ ๊ต์ฒดโ€™ ๊ฐ™์€ ๊ธฐ๋Šฅ์€ ๋””ํดํŠธ ๋ฉ”์†Œ๋“œ๋กœ ์ธํ„ฐํŽ˜์ด์Šค์— ๋„ฃ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ ํด๋ž˜์Šค ์ž‘์„ฑ (์‹œ์นด ํด๋ž˜์Šค) [00:10:49]

โ€ข
implementsย ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
โ€ข
์‹œ์นด ํด๋ž˜์Šค๋Š” ๋ฆฌ๋ชจํŠธ ์ปจํŠธ๋กค ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ถ”์ƒ ๋ฉ”์†Œ๋“œ๋ฅผ ๋ชจ๋‘ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•ด์„œ ๊ตฌ์ฒด์ ์ธ ๋™์ž‘์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.
โ€ข
์˜ˆ) ์ „์› ์ผœ๊ธฐ ์‹œ "์‹œ์นด ์ „์› ON" ์ถœ๋ ฅ, ์†๋„ ์กฐ์ ˆ ์‹œ ๋‚ด๋ถ€ ๋ณ€์ˆ˜์— ๊ฐ’ ์ €์žฅ

๋“œ๋ก  ํด๋ž˜์Šค ๊ตฌํ˜„ ๋ฐ ๋ณต์‚ฌ ํ™œ์šฉ๋ฒ• [00:18:33]

โ€ข
๋“œ๋ก  ํด๋ž˜์Šค๋„ ์‹œ์นด ํด๋ž˜์Šค์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ฆฌ๋ชจํŠธ ์ปจํŠธ๋กค ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.
โ€ข
์‹œ์นด ํด๋ž˜์Šค ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•ด์„œ ๋“œ๋ก  ํด๋ž˜์Šค์— ๋ถ™์—ฌ๋„ฃ๊ณ , ์ด๋ฆ„์ด๋‚˜ ์ถœ๋ ฅ ๋ฉ”์‹œ์ง€๋งŒ ๋ฐ”๊พธ๋ฉด ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ฝ”๋“œ ์ž‘์„ฑ ์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์ฒด ์ƒ์„ฑ๊ณผ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ ์‹ค์Šต (๋“œ๋ผ์ด๋ฒ„ ํด๋ž˜์Šค) [00:31:05]

โ€ข
๋“œ๋ผ์ด๋ฒ„ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด ์‹œ์นด์™€ ๋“œ๋ก  ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
โ€ข
๊ฐ ๊ฐ์ฒด์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด ์ „์› ์ผœ๊ธฐ, ์†๋„ ์กฐ์ ˆ, ๋ฐฐํ„ฐ๋ฆฌ ๊ต์ฒด ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•ด ๋ด…๋‹ˆ๋‹ค.
โ€ข
์˜ˆ)ย sika.onPower();,ย drone.setSpeed(10);

์ธํ„ฐํŽ˜์ด์Šค ํ™œ์šฉ ์˜ˆ์‹œ์™€ ๋ฆฌ๋ชจ์ปจ ๊ฐœ๋… ์ •๋ฆฌ [00:37:02]

โ€ข
ํ•˜๋‚˜์˜ ๋ฆฌ๋ชจํŠธ ์ปจํŠธ๋กค ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์‹œ์นด ์ž๋™์ฐจ์™€ ๋“œ๋ก  ๋ชจ๋‘๋ฅผ ์กฐ์ข…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
๋งˆ์น˜ ํ•˜๋‚˜์˜ ๋ฆฌ๋ชจ์ปจ์œผ๋กœ TV์™€ ์…‹ํ†ฑ๋ฐ•์Šค๋ฅผ ๋ชจ๋‘ ์กฐ์ž‘ํ•˜๋Š” ๊ฒƒ๊ณผ ๋น„์Šทํ•œ ๊ฐœ๋…์ž…๋‹ˆ๋‹ค.
โ€ข
์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์–‘ํ•œ ํด๋ž˜์Šค๊ฐ€ ๊ฐ™์€ โ€˜์กฐ์ž‘๋ฒ•โ€™์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์–ด ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋งˆ๋ฌด๋ฆฌ ๋ฐ ์ธํ„ฐํŽ˜์ด์Šค ์‹ค์Šต ์š”์•ฝ [00:40:22]

โ€ข
์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ถ”์ƒ ๋ฉ”์†Œ๋“œ์™€ ์ƒ์ˆ˜๋ฅผ ์„ ์–ธํ•ด โ€˜๊ทœ์น™โ€™์„ ์ •ํ•˜๊ณ ,
โ€ข
์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํด๋ž˜์Šค๋Š” ๋ฐ˜๋“œ์‹œ ์ถ”์ƒ ๋ฉ”์†Œ๋“œ๋ฅผ ๋ชจ๋‘ ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
โ€ข
๋””ํดํŠธ ๋ฉ”์†Œ๋“œ์™€ static ๋ฉ”์†Œ๋“œ๋„ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ€ข
์ด๋ฒˆ ์‹ค์Šต์„ ํ†ตํ•ด ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ํ™œ์šฉ๋ฒ•์„ ํ™•์‹คํžˆ ์ตํž ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ •๋ฆฌ

์ด๋ฒˆ ์˜์ƒ์—์„œ๋Š” Java ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•๋ถ€ํ„ฐ, ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ํด๋ž˜์Šค ์ž‘์„ฑ, ๊ทธ๋ฆฌ๊ณ  ๊ฐ์ฒด ์ƒ์„ฑ๊ณผ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ๊นŒ์ง€ ์‹ค์Šตํ•˜๋ฉฐ ์ธํ„ฐํŽ˜์ด์Šค์˜ ํ•ต์‹ฌ ๊ฐœ๋…์„ ์‰ฝ๊ฒŒ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์—ฌ๋Ÿฌ ํด๋ž˜์Šค๊ฐ€ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ๊ณต์œ ํ•˜๋„๋ก ๋„์™€์ฃผ๋Š” โ€˜์•ฝ์†โ€™ ๊ฐ™์€ ์—ญํ• ์„ ํ•˜๋ฉฐ, ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๋†’์—ฌ์ค๋‹ˆ๋‹ค. ์•ž์œผ๋กœ Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐ ํฐ ๋„์›€์ด ๋  ๊ฑฐ์˜ˆ์š”!