Community

๐Ÿ•Š๏ธ ์ฃผ๋‹ˆ์–ด ์ž๋ฐ” ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ 100๊ฐ€์ง€ ์งˆ๋ฌธ (1)

"์ฃผ๋‹ˆ์–ด ์ž๋ฐ” ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ 100๊ฐ€์ง€ ์งˆ๋ฌธ" 1ํŽธ์ž…๋‹ˆ๋‹ค. ์ฃผ๋‹ˆ์–ด ์ž๋ฐ” ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ 100๊ฐ€์ง€ ์งˆ๋ฌธ (2) - [https://careerly.co.kr/comments/84093] 1๏ธโƒฃ ๊ธฐ์ดˆ ๐Ÿ“Œ JDK์™€ JRE์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๐Ÿ“Œ ==์™€ equals์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๐Ÿ“Œ ๋‘ ๊ฐ์ฒด๊ฐ€ ๋™์ผํ•œ hashCode๋ฅผ ๊ฐ€์ง€๋ฉด Equals()๊ฐ€ ์ฐธ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค, ๊ทธ๋ ‡์ฃ ? ๐Ÿ“Œ ์ž๋ฐ”์—์„œ final์˜ ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๐Ÿ“Œ ์ž๋ฐ”์—์„œ Math.round(-1.5)๋Š” ๋ฌด์—‡์„ ์˜๋ฏธํ•ฉ๋‹ˆ๊นŒ? ๐Ÿ“Œ String์€ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ž…๋‹ˆ๊นŒ? ๐Ÿ“Œ ์ž๋ฐ”์—์„œ ๋ฌธ์ž์—ด์„ ์กฐ์ž‘ํ•˜๋Š” ํด๋ž˜์Šค๋Š” ๋ฌด์—‡์ด ์žˆ์Šต๋‹ˆ๊นŒ? ๊ฐ ํด๋ž˜์Šค์˜ ์ฐจ์ด์ ์€ ๋ญ˜๊นŒ์š”? ๐Ÿ“Œ String str ="i"์™€ String str = new String("i")๊ฐ€ ๋™์ผํ•ฉ๋‹ˆ๊นŒ? ๐Ÿ“Œ ๋ฌธ์ž์—ด์„ ๋ฐ˜์ „์‹œํ‚ค๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”? ๐Ÿ“Œ String ํด๋ž˜์Šค์˜ ์ผ๋ฐ˜์ ์ธ ๋ฉ”์„œ๋“œ๋Š” ๋ฌด์—‡์ด ์žˆ๋‚˜์š”? ๐Ÿ“Œ ์ถ”์ƒ ํด๋ž˜์Šค์—์„œ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋Š” ํ•„์ˆ˜์ ์ธ๊ฐ€์š”? ๐Ÿ“Œ ๋ณดํ†ต์˜ ํด๋ž˜์Šค์™€ ์ถ”์ƒ ํด๋ž˜์Šค์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ๐Ÿ“Œ final์€ ์ถ”์ƒ ํด๋ž˜์Šค๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‚˜์š”? 2๏ธโƒฃ Container ๐Ÿ“Œ ์ž๋ฐ” ์ปจํ…Œ์ด๋„ˆ๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? ๐Ÿ“Œ Collection๊ณผ Collections์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ๐Ÿ“Œ List, Set, Map์˜ ์ฐจ์ด์ ์„ ๋งํ•ด์ฃผ์„ธ์š”. ๐Ÿ“Œ HashMap๊ณผ Hashtable์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ๐Ÿ“Œ ๊ฐ๊ฐ ์–ด๋–ค ์ƒํ™ฉ์—์„œ HashMap๊ณผ TreeMap์„ ์„ ํƒํ•˜๋‚˜์š”? ๐Ÿ“Œ HashMap ๊ตฌํ˜„ ์›์น™์€ ๋ฌด์—‡์ธ๊ฐ€์š”? ๐Ÿ“Œ HashSet ๊ตฌํ˜„ ์›์น™์€ ๋ฌด์—‡์ธ๊ฐ€์š”? ๐Ÿ“Œ ArrayList์™€ LinkedList์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”? ๐Ÿ“Œ Array์—์„œ List๋กœ ์ „ํ™˜ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ•˜๋‚˜์š”? ๐Ÿ“Œ ArrayList์™€ Vector์˜ ์ฐจ์ด์ ์„ ๋งํ•ด์ฃผ์„ธ์š”. ๐Ÿ“Œ Array์™€ ArrayList์˜ ์ฐจ์ด์ ์„ ๋งํ•ด์ฃผ์„ธ์š”. ๐Ÿ“Œ Queue์—์„œ, poll()๊ณผ remove()์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ๐Ÿ“Œ thread-safeํ•œ ์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค๋“ค์€ ๋ฌด์—‡์ด ์žˆ์„๊นŒ์š”? ๐Ÿ“Œ iterator๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? ๐Ÿ“Œ iterator์˜ ์‚ฌ์šฉ ๋ชฉ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”? ์–ด๋–ค ํŠน์ง•์ด ์žˆ์ฃ ? ๐Ÿ“Œ iterator์™€ listIterator์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? 3๏ธโƒฃ multi-threading ๐Ÿ“Œ ๋ณ‘๋ ฌ๊ณผ ๋™์‹œ์„ฑ์˜ ์ฐจ์ด์ ์„ ๋งํ•ด์ฃผ์„ธ์š”. ๐Ÿ“Œ ์Šค๋ ˆ๋“œ์™€ ํ”„๋กœ์„ธ์Šค์˜ ์ฐจ์ด๋ฅผ ๋งํ•ด์ฃผ์„ธ์š”.. ๐Ÿ“Œ ๋ฐ๋ชฌ ์Šค๋ ˆ๋“œ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ๐Ÿ“Œ ์Šค๋ ˆ๋“œ๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์„ ๋‚˜์—ดํ•ด์ฃผ์„ธ์š”. ๐Ÿ“Œ runnable๊ณผ callable์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ๐Ÿ“Œ ์Šค๋ ˆ๋“œ์˜ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ƒํƒœ์— ๋Œ€ํ•ด ๋งํ•ด์ฃผ์„ธ์š”. ๐Ÿ“Œ sleep()๊ณผ wait()์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ๐Ÿ“Œ notify()์™€ notifyAll()์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ๐Ÿ“Œ thread run()๊ณผ tnread start()์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ๐Ÿ“Œ ์Šค๋ ˆ๋“œ ํ’€์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ๋งํ•ด์ฃผ์„ธ์š”. ๐Ÿ“Œ ์Šค๋ ˆ๋“œ ํ’€์˜ ์ƒํƒœ์— ๋Œ€ํ•ด ๋งํ•ด์ฃผ์„ธ์š”. ๐Ÿ“Œ ์Šค๋ ˆ๋“œ ํ’€์—์„œ submit()๊ณผ execute()์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ๐Ÿ“Œ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ ์ž‘์—…์˜ ์•ˆ์ „์„ฑ์„ ์–ด๋–ป๊ฒŒ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? 4๏ธโƒฃ reflection ๐Ÿ“Œ reflection์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? ๐Ÿ“Œ ์ž๋ฐ” ์ง๋ ฌํ™”๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? ์–ด๋–ค ์ƒํ™ฉ์—์„œ ํ•„์š”ํ•œ๊ฐ€์š”? ๐Ÿ“Œ ๋™์  ํ”„๋ก์‹œ๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? ๐Ÿ“Œ ๋™์  ํ”„๋ก์‹œ๋Š” ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋‚˜์š”? 5๏ธโƒฃ object copy ๐Ÿ“Œ ๋ณต์‚ฌ๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”? ๐Ÿ“Œ ๊ฐ์ฒด ๋ณต์‚ฌ๋Š” ์–ด๋–ป๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋‚˜์š”? ๐Ÿ“Œ ๊นŠ์€ ๋ณต์‚ฌ์™€ ์–•์€ ๋ณต์‚ฌ์˜ ์ฐจ์ด๋ฅผ ๋งํ•ด์ฃผ์„ธ์š”.

์•Œ๋ฆผ

์•Œ๋ฆผ์ด ์—†์Šต๋‹ˆ๋‹ค