F-Lab 32

F010 - System.out.println(), Logger

โœ๏ธ ์ฒ˜์Œ Java๋ฅผ ๊ณต๋ถ€ ํ•  ๋•Œ, "Hello World" ๋ผ๋Š” ๋ฌธ์ž์—ด์„ ์ฝ˜์†”์ฐฝ์— ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ ๋ถ€ํ„ฐ ์‹œ์ž‘ํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ตœ๊ทผ๊นŒ์ง€ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋ฉด์„œ ์—ฌ๋Ÿฌ ์ •๋ณด๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด System.out.println() ๋ฅผ ์ž์ฃผ ์‚ฌ์šฉํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ CTO๋‹˜๊ป˜์„œ System.out.println()๋ฅผ ์ง€์–‘ํ•˜๊ณ  Log ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์จ์„œ ํ™•์ธํ•˜๋ผ๊ณ  ํ•˜์…”์„œ ๋ฌป์ง€๋„ ๋”ฐ์ง€์ง€๋„ ์•Š๊ณ  Log ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ์ตœ๊ทผ ๋ฉ˜ํ† ๋ง ์ค‘์— ๋ฉ˜ํ† ๋‹˜๊ป˜์„œ ์™œ ์‹ค์ œ ๊ฐœ๋ฐœ ์‹œ์— System.out.println()์„ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋˜๋Š”์ง€, ์™œ Log ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•ด์•ผ ํ•˜๋Š”์ง€ ์งˆ๋ฌธํ•ด์ฃผ์…จ๋Š”๋ฐ ์™œ ๊ทธ๋Ÿฐ์ง€ ์•Œ์•„๋ณด์ž! System.out.println() ํ•ด๋‹น ๋ช…๋ น์–ด๋Š” java.lang ํŒจํ‚ค์ง€์— ์†ํ•œ System ํด๋ž˜์Šค์˜ ํด๋ž˜์Šค..

Programming/Java 2021.05.19

F009 - Inheritance, Composition

โœ๏ธ ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ๋ฉ˜ํ† ๋‹˜๊ป˜์„œ ์งˆ๋ฌธํ•ด์ฃผ์…จ๋˜ ์ƒ์†๊ณผ ์กฐํ•ฉ์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณผ๊นŒ ํ•œ๋‹ค. ์‚ฌ์‹ค Java ๋ผ๋Š” ์–ธ์–ด๊ฐ€ ์™œ ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด์ธ์ง€, ์ด๋Ÿฌํ•œ ํŠน์ง•์„ ํ†ตํ•ด ๊ฐ€์ง€๋Š” ์ด์ ๊ณผ ๋‹จ์ , ๋‹จ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฐฉ๋ฒ•๋“ค์ด ์žˆ๋Š”์ง€ ์ œ๋Œ€๋กœ ์•Œ์ง€ ๋ชปํ•œ ์ฑ„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์—ˆ๋‹ค. (์ง€๊ธˆ๊นŒ์ง€๋„!) ์ด๋ฒˆ ๊ธฐ๋ก์„ ํ†ตํ•ด ์ƒ์†๊ณผ ๊ตฌํ˜„, ๊ทธ๋ฆฌ๊ณ  ์กฐํ•ฉ(Composition)์„ ํŒŒํ—ค์ณ๋ณด์ž! ์ƒ์† (Inheritance) ์ƒ์†์€ ํด๋ž˜์Šค ๋ช… ์šฐ์ธก์— extends ๋ผ๋Š” ์˜ˆ์•ฝ์–ด๋ฅผ ํ†ตํ•ด ์ƒ์† ๋ฐ›์„ ์ˆ˜ ์žˆ๊ณ , 1๊ฐœ์˜ ํด๋ž˜์Šค๋งŒ ์ƒ์† ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. ์œ„์˜ ๋‹ค์ด์–ด๊ทธ๋žจ์„ ํ™•์ธํ•ด๋ณด์ž. ๋จผ์ € Animal ํด๋ž˜์Šค๊ฐ€ ์ตœ์ƒ์œ„ ํด๋ž˜์Šค๋กœ ์กด์žฌํ•˜๊ณ  ๊ทธ ์•„๋ž˜์— Mammal, Bird ํด๋ž˜์Šค, ์ด ๋‘ ํด๋ž˜์Šค์˜ ๊ฐ๊ฐ ์•„๋ž˜์— Dog, Whale, Eagle, Kiwi ํด๋ž˜์Šค๊ฐ€ ์กด์žฌํ•œ๋‹ค..

Programming/Java 2021.05.18

F008 - Garbage Collector

โœ๏ธ ์ €๋ฒˆ ์‹œ๊ฐ„์— ๊ณต๋ถ€ํ–ˆ๋˜ JVM ๋‚ด์šฉ๊ณผ ์—ฐ๊ฒฐ๋˜๋Š” ์ด์œ ๋กœ Garbage Collector(์ดํ•˜ GC)์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. Reference Type ๊ณผ Heap Memory๋ฅผ ๊ณต๋ถ€ํ•˜๋ฉด์„œ Heap Memory ๋‚ด์— ์กด์žฌํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๊ณณ์ด ์—†์„ ๋•Œ GC๊ฐ€ ์ด๋ฅผ ์ฒ˜๋ฆฌํ•ด์ค€๋‹ค๋Š” ๊ฒƒ์€ ์กฐ๊ธˆ์ด๋‚˜๋งˆ ์ดํ•ดํ–ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ค ์‹œ์ ์—, ์–ด๋–ค ๋ฐฉ๋ฒ•์œผ๋กœ GC๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ •๋ฆฌํ•ด์ฃผ๋Š”๊ฑธ๊นŒ? ์ด๋ฒˆ ์‹œ๊ฐ„์„ ํ†ตํ•ด ์•Œ์•„๋ณด์ž! Un-Managed Language, Managed Language ๋งŽ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋“ค์€ Mangaed Language, Un-Managed Language ๋กœ ๋‚˜๋‰˜์–ด ๊ตฌ๋ถ„๋  ์ˆ˜ ์žˆ๋‹ค. ์ด ๋‘˜์˜ ์˜๋ฏธ๋Š” ๋ฌด์—‡์„ ๋œปํ•˜๋Š”๊ฑธ๊นŒ? ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€์—ฌํ•ด์•ผ ํ•œ๋‹ค๋ฉด Un-Managed Language, ..

Programming/Java 2021.05.16

F007 - JVM : Memory Architecture

โœ๏ธ ๋‘ ๋ฒˆ์งธ ๋ฉ˜ํ† ๋ง ์‹œ๊ฐ„์„ ๊ฐ€์ง€๋ฉด์„œ Reference Type๊ณผ String ํด๋ž˜์Šค์— ๊ด€ํ•œ ์ด์•ผ๊ธฐ๋ฅผ ๋‚˜๋ˆ„๋‹ค H๋‹˜๊ป˜์„œ Garbage Collector์™€ JVM ํ‚ค์›Œ๋“œ๋ฅผ ๊บผ๋‚ด์…จ๊ณ , ์ด์— ๋Œ€ํ•œ ๋ฉ˜ํ† ๋‹˜์˜ ๊ฐ‘์ž‘์Šค๋Ÿฌ์šด ์งˆ๋ฌธ์— ๋‹นํ™ฉํ–ˆ์—ˆ๋‹ค. 1. ์ž๋ฃŒํ˜•์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๋ฉด์„œ JVM ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์กฐ๊ธˆ ๋” ๊ณต๋ถ€ํ•˜๊ณ  ์‹ถ์–ด์กŒ๋‹ค. 2. ๋ฉ˜ํ† ๋‹˜ ์งˆ๋ฌธ์— ๋‹นํ™ฉํ•˜๋˜ ๋‚ด ์ž์‹ ์ด ๋ถ€๋„๋Ÿฌ์› ๋‹ค. ๋ถ€๋„๋Ÿฝ์ง€ ์•Š์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด์„œ. ๊ทธ๋ž˜์„œ ์ด๋ฒˆ ์‹œ๊ฐ„์—๋Š” ๋จผ์ € Java ์ปดํŒŒ์ผ ์‹œ, JVM ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๊ณ  ์–ด๋–ป๊ฒŒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹น๋ฐ›์•„ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์•Œ์•„๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณด์ž. ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ๊ณผ์ •์„ ํ†บ์•„๋ณด์ž Java ํŒŒ์ผ์ด ์‹คํ–‰๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ปดํŒŒ์ผ ๋‹จ๊ณ„์™€ ๋Ÿฐํƒ€์ž„ ๋‹จ๊ณ„๋กœ ๋‚˜๋‰˜์–ด ์ง€๋Š”๋ฐ, ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„œ๋Š” Java Compiler(๋ช…๋ น์–ด jav..

Programming/Java 2021.05.14

Week 2

Week 2 : ๋‚˜๋ฆ„ ๊ณต๋ถ€๋Š” ํ•œ ๊ฒƒ ๊ฐ™์€๋ฐ โœ๏ธ ์˜ค๋Š˜์€ ์ €๋ฒˆ ์ฃผ์— ์ž˜ ์•Œ์ง€ ๋ชปํ–ˆ๋˜ ๊ฒƒ์— ๋Œ€ํ•œ ๋‹ต๋ณ€ ์‹œ๊ฐ„๊ณผ ์ฑ…์„ ์ฝ์œผ๋ฉฐ ์ƒˆ๋กญ๊ฒŒ ๊ณต๋ถ€ํ•œ ๊ฒƒ๋“ค์— ๋Œ€ํ•œ ์ด์•ผ๊ธฐ๋“ค์„ ๋‚˜๋ˆ„์—ˆ๊ณ , ํ”ผ๋“œ๋ฐฑ์œผ๋กœ๋Š” ์–ด๋–ค ํ•œ ์ฃผ๋ฅผ ๋ณด๋ƒˆ๋Š”์ง€, ํ•œ ์ฃผ๋ฅผ ๋ณด๋‚ธ ๊ฒฐ๊ณผ๋กœ ๋ฉ˜ํ† ๋ง์—์„œ ์–ด๋–ค ๊ฒƒ์„ ๋Š๋ผ๊ณ  ์–ป์—ˆ๋Š”์ง€ ๊ธฐ๋กํ•˜๋ ค ํ•œ๋‹ค. Q : ๊ฐ€์Šด์— ์†์„ ์–น๊ณ , ์ด๋ฒˆ ์ฃผ๋Š” ์—ด์‹ฌํžˆ ์‚ด์•˜๋Š”๊ฐ€? A : ๋ถ€๋„๋Ÿฝ์ง€๋งŒ ์—ด์‹ฌํžˆ ์‚ด์ง€ ๋ชปํ–ˆ๋‹ค. ๋‹ค์ณค๋‹ค๋Š” ํ•‘๊ณ„๋กœ ์ฃผ๋ง์—๋Š” ๋ฐ˜๋‚˜์ ˆ ์ด์ƒ ์นจ๋Œ€์—์„œ ๋‚˜์˜ค์ง€ ์•Š์•˜๋‹ค. ๋‚˜๋ฆ„ ๋ฐ˜์„ฑ์˜ ์˜๋ฏธ๋กœ ์ถœํ‡ด๊ทผ ์ค‘์— ์ฑ…์„ ์ฝ์œผ๋ ค ๋…ธ๋ ฅํ–ˆ์ง€๋งŒ ํ•œ ๊ธ€์ž๋„ ์ฝํžˆ์ง€ ์•Š์•˜๋‹ค. ์‚ฌ์‹ค์ƒ ์‹คํŒจ์˜ ํ•œ ์ฃผ๋ผ๊ณ  ์ƒ๊ฐ๋œ๋‹ค. 1. Reference Type / Primitive Type - Reference Type Reference Type ์— ๋Œ€ํ•ด์„œ ์ œ๋Œ€๋กœ ์„ค๋ช…ํ•˜์ง€ ์•Š๊ณ  ๊ฐ‘์ž๊ธฐ..

์‚ถ/F-Lab 2021.05.13

F006 - Throwable, Exception, Error

โœ๏ธ ์ฒ˜์Œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ ‘ํ•  ๋•Œ๊ณ  ๊ทธ๋ ‡๊ณ , ํ˜„์žฌ๊นŒ์ง€๋„ ๊ทธ๋ ‡์ง€๋งŒ ์ฝ˜์†”์ฐฝ์— ๋นจ๊ฐ„ ๊ธ€์”จ๊ฐ€ ๋‚˜์˜ฌ ๋•Œ๋‚˜ ๊ฐ‘์ž๊ธฐ ๋งŽ์€ ๋ฌธ์ž๋“ค์ด ํ™• ์˜ฌ๋ผ์˜ฌ ๋•Œ ๋“ฑ๊ณจ์ด ์˜ค์‹นํ•œ๋‹ค. ์ฒ˜์Œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์Šต๊ด€์„ ์ž˜๋ชป ๋“ค์—ฌ์„œ ๊ทธ๋Ÿฐ์ง€ ์˜ˆ์™ธ๋‚˜ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์™œ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ๋”ฐ์ ธ๋ณด๊ธฐ ๋ณด๋‹จ ์ผ๋‹จ ์น˜์›Œ๋ฒ„๋ฆฌ๋ ค๊ณ  ๋ฉ”์„ธ์ง€๋ฅผ ๋ณต์‚ฌํ•ด์„œ ๊ตฌ๊ธ€์ฐฝ์— ๊ฒ€์ƒ‰ํ•˜๊ณ  ๋‚จ๋“ค์ด ํ•ด๊ฒฐํ•œ ์ฝ”๋“œ๋ฅผ ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌ, ๋ถ™ํ˜€๋„ฃ๊ธฐ ๋ฐ”๋นด๋˜ ๊ฒƒ ๊ฐ™๋‹ค. ์ž๋ฐ”์˜ ์‹ ์„ ์ฝ์œผ๋ฉด์„œ ์˜ˆ์™ธ์— ๋Œ€ํ•ด ๋‹ค์‹œ ์ ‘ํ•˜๊ฒŒ ๋๋Š”๋ฐ ์ด๋ฒˆ ๊ธฐํšŒ์— ์˜ˆ์™ธ ๊ณตํฌ์ฆ์„ ์ด๊ฒจ๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์˜ˆ์™ธ์˜ ์กฐ์ƒ Reference Type ์ฑ•ํ„ฐ์—์„œ ๊ณต๋ถ€ํ–ˆ๋˜ ๋‚ด์šฉ๊ณผ ์—ฐ๊ฒฐํ•ด์„œ, ๋ชจ๋“  ํด๋ž˜์Šค์˜ ์กฐ์ƒ์€ java.lang.Object(์ดํ•˜ Object ํด๋ž˜์Šค)์ด๋‹ค. ์˜ˆ์™ธ์— ์†ํ•œ ํด๋ž˜์Šค๋“ค๋„ ์ด ์กฐ๊ฑด์—์„œ ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค. ๋‹ค๋งŒ ๋ชจ๋“  ์˜ˆ์™ธ๋“ค์˜ ์•„๋ฒ„์ง€๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š”..

Programming/Java 2021.05.11

F005 - Stack & Heap Memory

โœ๏ธ ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•๊ณผ ์ฐธ์กฐ ์ž๋ฃŒํ˜•์„ ๊ณต๋ถ€ํ•˜๊ณ  ๋‚˜๋‹ˆ Stack๊ณผ Heap ๋ฉ”๋ชจ๋ฆฌ์— ๋Œ€ํ•ด์„œ๋„ ๊ถ๊ธˆํ•ด์กŒ๋‹ค. ๋ฌด์—‡๋ณด๋‹ค ์ฒซ ๋ฉ˜ํ† ๋ง ์‹œ๊ฐ„์— ์ด ๋‘˜์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ œ๋Œ€๋กœ ํ•˜์ง€ ๋ชปํ•ด ๋ณต์Šต์„ ํ•˜๊ธด ํ–ˆ์–ด์•ผ ํ–ˆ๋‹ค. ๋˜, ์‹ค๋ฌด์—์„œ ์ด์— ๋Œ€ํ•œ ๊ฐœ๋…์ด ์ œ๋Œ€๋กœ ์žกํžˆ์ง€ ์•Š์•„ ์—ฌ๋Ÿฌ ๋ฒˆ ์‹ค์ˆ˜๋ฅผ ๊ฒฝํ—˜ํ•œ ์ ์ด ์žˆ๋‹ค. ์•ž์œผ๋กœ ์ด๋Ÿฐ ์‹ค์ˆ˜๋ฅผ ๋‹ค์‹œ ๋˜ํ’€์ดํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด ๋Œ€๋žต์ ์œผ๋กœ๋งŒ ํŒŒ์•…ํ•˜๊ณ  ์žˆ๋˜ ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ์•Œ์•„๋ณด์ž! Stack Memory ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์œผ๋กœ ์„ ์–ธ๋œ ๋ณ€์ˆ˜๋Š” ๊ฐ’๊ณผ ํ•จ๊ป˜ ํ• ๋‹น๋œ๋‹ค. ์ฐธ์กฐ ์ž๋ฃŒํ˜•์€ ํ• ๋‹น๋œ Heap Memory์˜ ์ฐธ์กฐ๊ฐ’๊ณผ ํ• ๋‹น๋œ๋‹ค. ๊ฐ ์Šค๋ ˆ๋“œ๋Š” ๊ฐ์ž์˜ Stack Memory ์˜์—ญ์„ ๊ฐ€์ง„๋‹ค. ์ง€์—ญ ๋ณ€์ˆ˜, ๋งค๊ฐœ ๋ณ€์ˆ˜์˜ ์ƒ๋ช…์ฃผ๊ธฐ๋Š” ์ž์‹ ์ด ์†ํ•œ ๊ณณ์˜ ์Šค์ฝ”ํ”„๊ฐ€ ์‹คํ–‰๋˜๋ฉด ์‚ฌ๋ผ์ง„๋‹ค. public class StackMemoryTest ..

Programming/Java 2021.05.08

F004 - Reference Type

โœ๏ธ ๋“œ๋””์–ด ์ฒซ ๋ฉ˜ํ† ๋ง์„ ์‹œ์ž‘ํ–ˆ๋‹ค! ์—ฌ๋Ÿฌ ๋Œ€ํ™”๊ฐ€ ์˜ค๊ฐ”์ง€๋งŒ, ๊ฐ€์žฅ ์ž์‹  ์—†์—ˆ๋˜ ์ฐธ์กฐ ํƒ€์ž…๊ณผ ํ•ด๋‹น ํƒ€์ž…์ด ๋ฉ”๋ชจ๋ฆฌ ์ƒ์—์„œ ์–ด๋–ป๊ฒŒ ์šด์šฉ๋˜๋Š”์ง€ ๊ธฐ๋กํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์™œ๋ƒ๋ฉด ๋ฉ˜ํ† ๋‹˜๊ป˜์„œ ํ•ด๋‹น ์งˆ๋ฌธ์„ ์ฃผ์…จ๋Š”๋ฐ ๋Œ€๋‹ต์„ ์ž˜๋ชปํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ž˜์„œ ๋‹ค์‹œ ๋˜์งš์–ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ง€๋ ค๊ณ  ํ•œ๋‹ค. ์ฐธ์กฐ ์ž๋ฃŒํ˜• ์ฐธ์กฐ ์ž๋ฃŒํ˜•์€ ์•ž์„œ ๊ณต๋ถ€ํ•œ ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•์„ ์ œ์™ธํ•œ ๋ชจ๋“  ์ž๋ฃŒํ˜•์„ ๋œปํ•œ๋‹ค. ๋‹ค๋งŒ String ํด๋ž˜์Šค์˜ ๊ฒฝ์šฐ new ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  Literal ํ˜•ํƒœ๋กœ ๋ณ€์ˆ˜๊ฐ’์„ ์„ ์–ธ ํ•  ์ˆ˜ ์žˆ๊ณ , + ์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅํ•œ ์œ ์ผํ•œ ์ฐธ์กฐ ์ž๋ฃŒํ˜•์ด๋‹ค. ๋ชจ๋“  ์ฐธ์กฐ ์ž๋ฃŒํ˜•์€ java.lang.Object ๋ฅผ ์ƒ์†๋ฐ›๋Š”๋‹ค. ์ด๋Ÿฌํ•œ ์ฐธ์กฐ ์ž๋ฃŒํ˜•์—๋Š” Annotation(@์ฃผ์„) Arrays(๋ฐฐ์—ด) Class Enum Interface ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ์ฐธ์กฐ ์ž๋ฃŒํ˜•๊ณผ ๊ธฐ..

Programming/Java 2021.05.08

F003 - Access Modifier

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

Programming/Java 2021.05.06