Development Language 10

[์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ] ์ˆœํšŒ, ์ •๋ ฌ, ์ „์ฒด ์ •๋ฆฌ

์ˆœํšŒIteration* Iterable1. Iterable์ด๋ž€?๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ์ž๋ฐ”์—์„œ Iterable์€ ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ๊ฐ์ฒด๋ฅผ ์˜๋ฏธํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์ŠคList, Set ๊ฐ™์€ ์ปฌ๋ ‰์…˜๋“ค์€ ๋ชจ๋‘ Iterable ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ์–ด, ํ–ฅ์ƒ๋œ for๋ฌธ(for-each) ๋ฌธ๋ฒ•์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ2. Iterable ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌ์กฐpublic interface Iterable { Iterator iterator();}iterator() ๋ฉ”์„œ๋“œ๋กœ Iterator ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜iterator()๋ฅผ ํ†ตํ•ด ์š”์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ผ ์ˆ˜ ์žˆ๋Š” ๋ฐ˜๋ณต์ž(Iterator)๋ฅผ ์ƒ์„ฑ3. ํ–ฅ์ƒ๋œ for ๋ฌธ(for-each)Iterable ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ์ปฌ๋ ‰์…˜์ด๋ฉด for-each๋ฌธ์œผ๋กœ ์ˆœํšŒ ๊ฐ€๋Šฅ๋‚ด๋ถ€์ ์œผ๋กœ iterator()๋ฅผ ํ˜ธ์ถœํ•ด Iterato..

[์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ] Map, Stack, Queue, Deque

Map* Map์ด๋ž€?Key-Value ์Œ(key-value pair)์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋กœ, ๊ฐ key๋Š” ๊ณ ์œ ํ•ด์•ผ ํ•˜๋ฉฐ, ํ•ด๋‹น key์— ๋Œ€์‘๋˜๋Š” value๋ฅผ ์ €์žฅํ•œ๋‹ค * Map ํŠน์ง•์ค‘๋ณตKey : ์ค‘๋ณต XValue : ์ค‘๋ณต O์ˆœ์„œHashMap : ์ˆœ์„œ ๋ณด์žฅ XLinkedHashMap : ์ž…๋ ฅ ์ˆœ์„œ ์œ ์ง€TreeMap : Key ๊ธฐ์ค€ ์ •๋ ฌ๊ฒ€์ƒ‰ ์„ฑ๋ŠฅHashMap ๊ธฐ์ค€ : ํ‰๊ท  O(1)์ ‘๊ทผ ๋ฐฉ์‹Key๋ฅผ ํ†ตํ•ด Value์— ์ง์ ‘ ์ ‘๊ทผ * Map ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ฃผ์š” ๋ฉ”์„œ๋“œ๋ฉ”์„œ๋“œ์„ค๋ช…put(K key, V value)์ง€์ •๋œ ํ‚ค์™€ ๊ฐ’์„ ๋งต์— ์ €์žฅํ•œ๋‹ค. (๊ฐ™์€ ํ‚ค๊ฐ€ ์žˆ์œผ๋ฉด ๊ฐ’์„ ๋ณ€๊ฒฝ)putAll(Map m)์ง€์ •๋œ ๋งต์˜ ๋ชจ๋“  ๋งคํ•‘์„ ํ˜„์žฌ ๋งต์— ๋ณต์‚ฌํ•œ๋‹คputIfAbsent(K key, V value)์ง€์ •๋œ ํ‚ค๊ฐ€ ์—†๋Š” ๊ฒฝ..

[์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ] Set

์ž๋ฐ” ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์ž๋ฐ”์˜ ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ(Collection Framework)๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ €์žฅ,์กฐํšŒ,๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ง‘ํ•ฉ๋ถ„๋ฅ˜(ํ•ต์‹ฌ ์ธํ„ฐํŽ˜์ด์Šค)์ค‘๋ณต ํ—ˆ์šฉ์ˆœ์„œ ๋ณด์žฅ์ฃผ์š” ๊ตฌํ˜„์ฒดListOO(์ธ๋ฑ์Šค ๊ธฐ๋ฐ˜)ArrayList, LinkedListSetX-(๊ตฌํ˜„์ฒด์— ๋”ฐ๋ผ ๋‹ค๋ฆ„)HashSet, TreeSetQueueOO(์ž…์ถœ๋ ฅ ์ˆœ์„œ)LinkedList, ArrayDequeMapX(Key ๊ธฐ์ค€)-(Key ์ˆœ์„œ ์—†์Œ, ์ผ๋ถ€ ์ •๋ ฌ)HashMap, TreeMap Set * Set์ด๋ž€?์ž๋ฐ” ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๊ณ , ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š๋Š” ์ง‘ํ•ฉํ˜• ์ž๋ฃŒ๊ตฌ์กฐ(์ปฌ๋ ‰์…˜)์š”์†Œ ๊ฐ„ ์ˆœ์„œ๋ณด๋‹ค ์œ ์ผ์„ฑ(unique)์ด ์ค‘์š”* Set์˜ ์ฃผ์š” ํŠน์ง•ํŠน์ง•์„ค๋ช…์ค‘๋ณต ๋ถˆ๊ฐ€๋™์ผํ•œ ๊ฐ์ฒด๋Š” ํ•œ ๋ฒˆ๋งŒ ์ €์žฅ๋œ (e..

[์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ] HashSet

HashSet * HashSet์ด๋ž€?์ž๋ฐ”์—์„œ ์ œ๊ณตํ•˜๋Š” Set ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ตฌํ˜„์ฒด ์ค‘ ํ•˜๋‚˜๋กœ ์ค‘๋ณต ์—†๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ, ๋น ๋ฅธ ํƒ์ƒ‰์ด ํ•„์š”ํ•œ ์ƒํ™ฉ์—์„œ ์‚ฌ์šฉ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฐฐ์—ด + ํ•ด์‹œ ๊ธฐ๋ฐ˜ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๋ฉฐ, ์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š๊ณ  null ๊ฐ’์€ ํ•˜๋‚˜๋งŒ ์ €์žฅ ๊ฐ€๋Šฅ * HashSet ํŠน์ง•์ค‘๋ณต ๋ถˆ๊ฐ€ : equals()์™€ hashCode()๋กœ ๋™์ผํ•œ ๊ฐ์ฒด ํŒ๋ณ„์ˆœ์„œ ๋ณด์žฅ X : ์ €์žฅ ์ˆœ์„œ์™€ ์ถœ๋ ฅ ์ˆœ์„œ๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œnull ํ—ˆ์šฉ : null ๊ฐ’ 1๊ฐœ๋งŒ ์ €์žฅ ๊ฐ€๋Šฅ๋น ๋ฅธ ๊ฒ€์ƒ‰/์‚ฝ์ž…/์‚ญ์ œ : ํ‰๊ท  ์‹œ๊ฐ„๋ณต์žก๋„ O(1)* HashSet ๋‚ด๋ถ€ ์ž‘๋™ ์›๋ฆฌ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•  ๋•Œ hashCode() ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ด ํ•ด์‹œ๊ฐ’ ์ƒ์„ฑ์ •์ˆ˜๊ฐ€ ์•„๋‹Œ ๊ฐ’๋“ค์„ ์ •์ˆ˜๋กœ ๋ฐ”๊ฟ”์„œ ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ณ€ํ™˜ํ•ด์‹œ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐฐ์—ด ์ธ๋ฑ์Šค๋ฅผ ๊ตฌํ•จ(hash % cap..

[์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ] Hash

List vs Set * List์ˆœ์„œ ๋ณด์žฅ(์ธ๋ฑ์Šค ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ๊ฐ€๋Šฅ)์ค‘๋ณต ์š”์†Œ ํ—ˆ์šฉ์š”์†Œ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ €์žฅํ•˜๋ฉฐ, ์›ํ•˜๋Š” ์œ„์น˜์— ์‚ฝ์ž…/์‚ญ์ œ ๊ฐ€๋Šฅ์ธ๋ฑ์Šค๋ฅผ ๊ธฐ์ค€์œผ๋กœ get(index)๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Œ๋Œ€ํ‘œ ๊ตฌํ˜„์ฒดArrayList : ๋ฐฐ์—ด ๊ธฐ๋ฐ˜, ์กฐํšŒ ๋น ๋ฆ„LinkedList : ๋…ธ๋“œ ๊ธฐ๋ฐ˜, ์‚ฝ์ž…/์‚ญ์ œ ๋น ๋ฆ„* Set์ˆœ์„œ๋ฅผ ๋ณด์žฅํ•˜์ง€ ์•Š๊ฑฐ๋‚˜, ๊ตฌํ˜„์ฒด์— ๋”ฐ๋ผ ๋ถ€๋ถ„์ ์œผ๋กœ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์Œ์ค‘๋ณต๋œ ์š”์†Œ๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Œ -> ์œ ์ผํ•œ ๊ฐ’ ์ €์žฅ ์‹œ ์‚ฌ์šฉget(index) ๊ฐ™์€ ์ธ๋ฑ์Šค ๊ธฐ๋ฐ˜ ์ ‘๊ทผ ๋ถˆ๊ฐ€๋Šฅ๋‚ด๋ถ€์ ์œผ๋กœ ํ•ด์‹œ ๊ตฌ์กฐ, ์ •๋ ฌ ํŠธ๋ฆฌ, ๋งํฌ๋“œ ํ•ด์‹œ ๋“ฑ์„ ์‚ฌ์šฉํ•ด ๋™์ž‘๋Œ€ํ‘œ ๊ตฌํ˜„์ฒดHashSet : ์ˆœ์„œx, ํ•ด์‹œ ๊ธฐ๋ฐ˜LinkedHashSet : ์‚ฝ์ž… ์ˆœ์„œ ์œ ์ง€TreeSet : ์ •๋ ฌ๋œ ์ƒํƒœ ์œ ์ง€ * List vs Setํ•ญ๋ชฉListSet์ˆœ์„œ ์œ ์ง€..

[์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ] List

List * List๋ž€?List๋Š” ์ž๋ฐ” ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜๋กœ, ๋ฐ์ดํ„ฐ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ €์žฅํ•˜๋ฉฐ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜๊ณ  ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•œ๋‹ค๋Š” ํŠน์ง•์„ ๊ฐ€์ง์ˆœ์„œ ๋ณด์žฅ : ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฝ์ž…ํ•œ ์ˆœ์„œ๋Œ€๋กœ ์ €์žฅํ•˜๋ฉฐ, ์ธ๋ฑ์Šค๋ฅผ ํ†ตํ•ด ์š”์†Œ์— ์ ‘๊ทผ ๊ฐ€๋Šฅ์ค‘๋ณต ํ—ˆ์šฉ : ๋™์ผํ•œ ๊ฐ’์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์ €์žฅํ•  ์ˆ˜ ์žˆ์ŒArrayList, LinkedList ๋“ฑ์ด ์žˆ์ŒList ์ถ”์ƒํ™” ์ปฌ๋ ‰์…˜์„ ๋‹ค๋ฃฐ๋•Œ, ๊ตฌ์ฒด์ ์ธ ๊ตฌํ˜„์ฒด(ArrayList, LinkedList ๋“ฑ)์— ์˜์กดํ•˜๋ฉด ์œ ์—ฐ์„ฑ๊ณผ ํ™•์žฅ์„ฑ์ด ๋–จ์–ด์ ธ ์ถ”์ƒํ™”(์ธํ„ฐํŽ˜์ด์Šค)๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ๋ฅผ ๋” ์œ ์—ฐํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค. * ์ž๋ฐ” ์ปฌ๋ ‰์…˜ ์ฃผ์š” ์ธํ„ฐํŽ˜์ด์Šค์ธํ„ฐํŽ˜์ด์ŠคํŠน์ง•๋Œ€ํ‘œ ๊ตฌํ˜„์ฒดList์ˆœ์„œ ์œ ์ง€, ์ธ๋ฑ์Šค๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅ, ์ค‘๋ณต ํ—ˆ์šฉArrayList, LinkedList, VectorSet์ˆœ์„œ..

[์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ] LinkedList

ArrayList์˜ ํ•œ๊ณ„ ArrayList๋Š” ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฐฐ์—ด(Array)์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™ํ•˜๋ฉฐ, ์ด ๊ตฌ์กฐ๋Š” ์กฐํšŒ์—๋Š” ๋น ๋ฅด์ง€๋งŒ ์‚ฝ์ž…/์‚ญ์ œ๊ฐ€ ๋นˆ๋ฒˆํ•œ ๊ฒฝ์šฐ์— ๋น„ํšจ์œจ์ ์ด๋‹ค. * ArrayList์˜ ํ•œ๊ณ„ํฌ๊ธฐ ๊ณ ์ • ๋ฌธ์ œ : ๋ฐฐ์—ด ๊ธฐ๋ฐ˜์ด๋ฏ€๋กœ ์š”์†Œ๊ฐ€ ๋งŽ์•„์ง€๋ฉด ๋ฐฐ์—ด์„ ์ƒˆ๋กœ ์ƒ์„ฑํ•˜๊ณ  ๋ณต์‚ฌํ•ด์•ผ ํ•จ -> ์„ฑ๋Šฅ ์ €ํ•˜์ค‘๊ฐ„ ์‚ฝ์ž…/์‚ญ์ œ ๋น„ํšจ์œจ : ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ํ•˜๋‚˜์”ฉ ์ด๋™ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์‹œ๊ฐ„ ๋ณต์žก๋„ O(n)์‚ฝ์ž…/์‚ญ์ œ ์„ฑ๋Šฅ ์ €ํ•˜ : ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ฑฐ๋‚˜ ๋นˆ๋ฒˆํ•˜๊ฒŒ ์š”์†Œ๋ฅผ ์กฐ์ž‘ํ•  ๋•Œ ๋น„ํšจ์œจ์  => ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด LinkedList ์‚ฌ์šฉLinkedList 1. LinkedList๋ž€?์ž๋ฐ”์—์„œ ์ œ๊ณตํ•˜๋Š” List ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ตฌํ˜„์ฒด ์ค‘ ํ•˜๋‚˜๋กœ, ๋…ธ๋“œ(Node)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฐ๊ฒฐํ•ด์„œ ๊ด€๋ฆฌํ•˜๋Š” ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ๊ตฌ์กฐ์ด๋‹ค.ArrayLi..

[์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ] ArrayList

์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ& ์‹œ๊ฐ„ ๋ณต์žก๋„(Big-O) 1. ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ž€?์ž๋ฐ”์—์„œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ปฌ๋ ‰์…˜(Collection) ํ”„๋ ˆ์ž„์›Œํฌ๋ผ๋Š” ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.์ด๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์ฒ˜๋ฆฌํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ‘œ์ค€ํ™”ํ•ด ๋†“์€ ์ž๋ฐ”์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ง‘ํ•ฉ์ด๋‹ค. * ์ฃผ์š” ์ปฌ๋ ‰์…˜ ํ”„๋ ˆ์ž„์›ŒํฌList : ์ˆœ์„œ O, ์ค‘๋ณต OArrayList, LinkedListSet : ์ˆœ์„œ X, ์ค‘๋ณต XHashSet, TreeSetMap : Key-ValueHashMap, TreeMap๊ฐ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ํŠน์ • ์ƒํ™ฉ์—์„œ ์„ฑ๋Šฅ, ๋ฉ”๋ชจ๋ฆฌ, ๊ธฐ๋Šฅ์˜ ์ฐจ์ด๋ฅผ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์— ์„ ํƒ์˜ ๊ธฐ์ค€์ด ์ค‘์š”ํ•œ๋ฐ, ์ด๋•Œ ๊ณ ๋ คํ•˜๋Š” ๊ฒƒ์ด ์‹œ๊ฐ„ ๋ณต์žก๋„(Big-O)์ด๋‹ค. 2. ์‹œ๊ฐ„ ๋ณต์žก๋„(Big-O)* ์‹œ๊ฐ„ ๋ณต์žก๋„ : ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์„ฑ๋Šฅ์„ ํŒ๋‹จํ•˜๋Š”..

[์ œ๋„ค๋ฆญ] ์ œ๋„ค๋ฆญ ๋ฌธ๋ฒ• ์ •๋ฆฌ : ํƒ€์ž… ์ œํ•œ, ๋ฉ”์„œ๋“œ, ์™€์ผ๋“œ์นด๋“œ

ํƒ€์ž… ์ œํ•œ(Type Bound)T extends * ํƒ€์ž… ์ œํ•œ์ด ํ•„์š”ํ•œ ์ด์œ ?์ œ๋„ค๋ฆญ์€ ํƒ€์ž…์„ ์ผ๋ฐ˜ํ™”ํ•ด ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์— ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ฃผ๋Š” ๋ฌธ๋ฒ•์ด์ง€๋งŒ ๋ชจ๋“  ํƒ€์ž…์„ ๋ฌด์ œํ•œ์œผ๋กœ ํ—ˆ์šฉํ•˜๋ฉด, ์˜คํžˆ๋ ค ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•ด ํƒ€์ž… ์•ˆ์ •์„ฑ์„ ํ•ด์น  ์ˆ˜ ์žˆ์Œ 1. ๊ธฐ์กด ๋ฌธ์ œ -> ํƒ€์ž…๋งˆ๋‹ค ํด๋ž˜์Šค ์ƒ์„ฑํƒ€์ž…๋งˆ๋‹ค ํด๋ž˜์Šค๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑ -> ๊ตฌ์กฐ๋Š” ๊ฐ™๊ณ  ํƒ€์ž…๋งŒ ๋‹ค๋ฆ„๊ฒฐ๋ก  : ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ X, ํƒ€์ž… ์•ˆ์ „์„ฑ Opublic class CatHospital { private Cat animal; public void set(Cat animal) { this.animal = animal; } public void checkup() { System.out.println("๋™๋ฌผ ..

[์ œ๋„ค๋ฆญ] ์ œ๋„ค๋ฆญ์ด ํ•„์š”ํ•œ ์ด์œ  : ํƒ€์ž… ์•ˆ์ •์„ฑ๊ณผ ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ

์ œ๋„ค๋ฆญ์ด ํ•„์š”ํ•œ ์ด์œ 1. ์ž๋ฐ”์—์„œ ๋‹ค์–‘ํ•œ ํƒ€์ž…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ• -> ๊ฐ ํƒ€์ž…๋ณ„๋กœ ํด๋ž˜์Šค๋ฅผ ๋”ฐ๋กœ ์ •์˜ํด๋ž˜์Šค ๊ตฌ์กฐ๋Š” ๊ฑฐ์˜ ๋™์ผํ•˜์ง€๋งŒ ํƒ€์ž…์ด ๋‹ค๋ฅด๋ฉด ํด๋ž˜์Šค๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•จIntegerBox, StringBox, DoubleBox... ํƒ€์ž…๋ณ„๋กœ ๊ฐ๊ฐ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•จ -> ๋ฌดํ•œ ๋ฐ˜๋ณต๊ฒฐ๋ก  : ์œ ์ง€๋ณด์ˆ˜ ์–ด๋ ค์›€ + ๋งŽ์€ ์ฝ”๋“œ ์ค‘๋ณตpublic class IntegerBox { private Integer value; public void set(Integer value) { this.value = value; } public Integer get() { return value; }}public class StringBox { private String v..