728x90

๊ฐ์ฒด์ง€ํ–ฅ 6

[Java] ์ž๋ฐ”์˜ ์ ‘๊ทผ ์ง€์ •์ž (private, protected, public, default), static ๋ฉค๋ฒ„, final ํด๋ž˜์Šค

์ ‘๊ทผ ์ง€์ •์ž private, protected, public, ๋””ํดํŠธ(์ ‘๊ทผ ์ง€์ •์ž ์ƒ๋žต) ๋ชฉ์  ํด๋ž˜์Šค๋‚˜ ์ผ๋ถ€ ๋ฉค๋ฒ„๋ฅผ ๊ณต๊ฐœํ•˜์—ฌ ๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ ์ ‘๊ทผํ•˜๋„๋ก ํ—ˆ์šฉ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด์˜ ์บก์Šํ™” ์ •์ฑ…์€ ๋ฉค๋ฒ„๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ๊ฒƒ ํด๋ž˜์Šค ์ ‘๊ทผ ์ง€์ • ๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ ์‚ฌ์šฉํ•˜๋„๋ก ํ—ˆ์šฉํ•  ์ง€ ์ง€์ • public ํด๋ž˜์Šค -> ๋‹ค๋ฅธ ๋ชจ๋“  ํด๋ž˜์Šค์—๊ฒŒ ์ ‘๊ทผ ํ—ˆ์šฉ ๋””ํดํŠธ ํด๋ž˜์Šค -> ์ ‘๊ทผ ์ง€์ •์ž ์ƒ๋žต, package-private๋ผ๊ณ ๋„ ํ•จ, ๊ฐ™์€ ํŒจํ‚ค์ง€์˜ ํด๋ž˜์Šค์—๋งŒ ์ ‘๊ทผ ํ—ˆ์šฉ ๋งด๋ฒ„ ์ ‘๊ทผ ์ง€์ • public ํŒจํ‚ค์ง€์— ๊ด€๊ณ„ ์—†์ด ๋ชจ๋“  ํด๋ž˜์Šค์—์„ธ ์ ‘๊ทผ ํ—ˆ์šฉ private ๋™์ผ ํด๋ž˜์Šค ๋‚ด์—๋งŒ ์ ‘๊ทผ ํ—ˆ์šฉ ์ƒ์†๋ฐ›์€ ์„œ๋ธŒ ํด๋ž˜์Šค์—์„œ ์ ‘๊ทผ ๋ถˆ๊ฐ€ protected ๊ฐ™์€ ํŒจํ‚ค์ง€ ๋‚ด์˜ ๋‹ค๋ฅธ ๋ชจ๋“  ํด๋ž˜์Šค์—์„ธ ์ ‘๊ทผ ํ—ˆ์šฉ ์ƒ์† ๋ฐ›์€ ์„œ๋ธŒ ํด๋ž˜์Šค๋Š” ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์— ์žˆ์–ด๋„ ..

[Java] ์ž๋ฐ”์˜ ๊ฐ์ฒด ์†Œ๋ฉธ, ๊ฐ€๋น„์ง€, ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜

๊ฐ์ฒด ์†Œ๋ฉธ ๊ฐ์ฒด ์ƒ์„ฑ ์—ฐ์‚ฐ์ž new ๋กœ ํ• ๋‹น ๋ฐ›์€ ๊ฐ์ฒด์™€ ๋ฐฐ์—ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ JVM(์ž๋ฐ” ๊ฐ€์ƒ ๊ธฐ๊ณ„)๋กœ ๋˜๋Œ๋ ค ์ฃผ๋Š” ํ–‰์œ„ ์†Œ๋ฉธ๋œ ๊ฐ์ฒด ๊ณต๊ฐ„์€ ๊ฐ€์šฉ ๋ฉ”๋ชจ๋ฆฌ์— ํฌํ•จ ์ž๋ฐ”๋Š” ์‚ฌ์šฉ์ž ์ž„์˜๋กœ ๊ฐ์ฒด ์†Œ๋ฉธ ์•ˆ๋จ -> ๊ฐ์ฒด ์†Œ๋ฉธ ์—ฐ์‚ฐ์ž ์—†์Œ JVM(์ž๋ฐ” ๊ฐ€์ƒ ๊ธฐ๊ณ„)์˜ ๊ณ ์œ ํ•œ ์—ญํ•  ๊ฐ€๋น„์ง€ ๋ ˆํผ๋Ÿฐ์Šค๊ฐ€ ํ•˜๋‚˜๋„ ์—†๋Š” ๊ฐ์ฒด -> ๋” ์ด์ƒ ์ ‘๊ทผํ•  ์ˆ˜ ์—†์–ด ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฒŒ ๋œ ๋ฉ”๋ชจ๋ฆฌ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ JVM์˜ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๊ฐ€ ์ž๋™์œผ๋กœ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘, ๋ฐ˜ํ™˜ ๊ฐ€์šฉ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ์ผ์ • ์ดํ•˜๋กœ ๋ถ€์กฑํ•ด์งˆ ๋•Œ ๊ฐ€๋น„์ง€๋ฅผ ์ˆ˜๊ฑฐํ•ด ๊ฐ€์šฉ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์œผ๋กœ ํ™•๋ณด ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ์— ์˜ํ•ด ์ž๋™ ์ˆ˜ํ–‰ ๊ฐ•์ œ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ์ˆ˜ํ–‰ System ๋˜๋Š” Runtime ๊ฐ์ฒด์˜ gc() ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ gc() ๋ฉ”์†Œ๋“œ -> JVM์˜ ๊ฐ•๋ ฅํ•œ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ์š”์ฒญ ํ•˜์ง€๋งŒ JVM์ด ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰..

[HackerRank] Java Warmup

https://www.hackerrank.com/domains/algorithms?filters%5Bsubdomains%5D%5B%5D=warmup Solve Algorithms | HackerRank Solve Algorithms | HackerRank We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies. www.hackerrank.com SimpleArraySum ArrayList์˜ ํฌ๊ธฐ๋Š” .size()๋กœ ๊ตฌํ•˜๊ธฐ (.length ๋ชป์”€!!) ArrayList์˜ ์›์†Œ ์ ‘๊ทผ .get(..

[Java] ์ƒ์„ฑ์ž ๊ฐœ๋…๊ณผ ๋ชฉ์ , this ๋ ˆํผ๋Ÿฐ์Šค, this() ํ˜ธ์ถœ

์ƒ์„ฑ์ž ๊ฐœ๋…๊ณผ ๋ชฉ์  ์ƒ์„ฑ์ž ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ์ดˆ๊ธฐํ™” ๋ชฉ์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š” ๋ฉ”์†Œ๋“œ ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋˜๋Š” ์ˆœ๊ฐ„์— ์ž๋™ ํ˜ธ์ถœ โ˜ž ํด๋ž˜์Šค๋กœ๋ถ€ํ„ฐ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ์ˆ˜ํ–‰๋˜์–ด ๊ฐ์ฒด์˜ ์ดˆ๊ธฐํ™”๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ๊ฒƒ ๋‘ ๊ฐœ์˜ ์ƒ์„ฑ์ž๋ฅผ ๊ฐ€์ง„ Circle ํด๋ž˜์Šค ์˜ˆ์ œ (๊ฐ์ฒด์ง€ํ–ฅ์˜ ํŠน์ง•์ธ ๋‹คํ˜•์„ฑ๋„ ์—ฟ๋ณผ ์ˆ˜ ์žˆ์Œ) public class Circle { int radius; String name; public Circle { // ๋งค๊ฐœ ๋ณ€์ˆ˜ ์—†๋Š” ์ƒ์„ฑ์ž // ์ƒ์„ฑ์ž ์ด๋ฆ„์€ ํด๋ž˜์Šค ์ด๋ฆ„๊ณผ ๊ฐ™์Œ radius = 1; name = ""; } public Circle(int r, String t) { // ๋งค๊ฐœ ๋ณ€์ˆ˜ ๊ฐ€์ง„ ์ƒ์„ฑ์ž radius = r; name = t; } public double getArea() { return 3.14 * radiu..

[Java] ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ๊ฐœ๋…, ํŠน์ง•, ํด๋ž˜์Šค, ๊ฐ์ฒด

๊ฐ์ฒด์ง€ํ–ฅ์–ธ์–ด(Object-Oriented Programming = OOP) ์ปดํ“จํ„ฐํ”„๋กœ๊ทธ๋žจ์„ ๋ช…๋ น์–ด์˜ ๋ชฉ๋ก์œผ๋กœ ๋ณด๋Š” ์‹œ๊ฐ์—์„œ ๋ฒ—์–ด๋‚˜ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋…๋ฆฝ๋œ ๋‹จ์œ„, ์ฆ‰ "๊ฐ์ฒด"๋“ค์˜ ๋ชจ์ž„์œผ๋กœ ํŒŒ์•…ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒƒ. ๊ฐ๊ฐ์˜ ๊ฐœ์ฒด๋Š” message passing์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค ํด๋ž˜์Šค์™€ ๊ฐ์ฒด ํด๋ž˜์Šค ๊ฐ์ฒด์˜ ์„ค๊ณ„๋„ ํ˜น์€ ํ‹€ ๊ฐ์ฒด๋“ค์˜ ์ค‘์š”ํ•œ ์†์„ฑ์„ ๊ณต์œ ํ•˜๋Š” ๊ฐ์ฒด๋“ค์˜ ๋ชจ์ž„ ๊ฐœ๋…์  ๊ฐ์ฒด(Object) ํด๋ž˜์Šค์˜ ํ‹€๋กœ ์ฐ์–ด๋‚ธ ์‹ค์ฒด → ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘์— ์ƒ์„ฑ๋˜๋Š” ์‹ค์ฒด, ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ฐ–๋Š” ๊ตฌ์ฒด์  ์‹ค์ฒด = instance (์ธ์Šคํ„ด์Šค) ์ฃผ๋ณ€์— ๋ณด์ด๋Š” ์‚ฌ๋ฌผ, ์ƒ๋ช… ๊ตฌ์ฒด์  โ–ถ class๋Š” ์„ค๊ณ„๋„, instance๋Š” ์‹ค์ œ๋กœ ๋‚ด๊ฐ€ ์“ฐ๋Š” ๊ฒƒ โ–ถ ๊ฐ์ฒด(์น˜์™€์™€, ์…ฐํผ๋“œ, ์ง„๋„) → ์†์„ฑ(๋ฉ๋ฉ, ๊ผฌ๋ฆฌ๋ฅผ ํ”๋“ฆ) → ํด๋ž˜์Šค(๊ฐœ) โ–ถ ๊ฐ์ฒด๋“ค์€..

[Java] ์ž๋ฐ” ์‹œ์ž‘

๊ฐ์ฒด์ง€ํ–ฅํ”„๋กœ๊ทธ๋ž˜๋ฐ ์™„์ „ ๊ธฐ์ดˆ ์ปดํ“จํ„ฐ์™€ ์†Œํ”„ํŠธ์›จ์–ด ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋งŒ๋Šฅ ๊ธฐ๊ณ„์ธ ์ปดํ“จํ„ฐ๋ฅผ ์ด์šฉํ•ด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ปดํ“จํ„ฐ๊ฐ€ ์‹คํ–‰ํ•  ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์–ธ์–ด(์ปดํ“จํ„ฐ ์–ธ์–ด, ๊ธฐ๊ณ„์–ด) ๊ธฐ๊ณ„์–ด 0, 1์˜ ์ด์ง„์ˆ˜๋กœ ๊ตฌ์„ฑ๋œ ์–ธ์–ด ์ปดํ“จํ„ฐ์˜ CPU๋Š” ๊ธฐ๊ณ„์–ด๋งŒ ์ดํ•ด, ์ฒ˜๋ฆฌ๊ฐ€๋Šฅ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด ๊ธฐ๊ณ„์–ด ๋ช…๋ น์„ ADD, SUB, MOVE๋“ฑ๊ณผ ๊ฐ™์€ ํ‘œํ˜„ํ•˜๊ธฐ ์‰ฌ์šด ์ƒ์ง•์ ์ธ ๋‹จ์–ด์ธ ๋‹ˆ๋ชจ๋‹‰ ๊ธฐํ˜ธ(mnemonic symbol)๋กœ ์ผ๋Œ€์ผ ๋Œ€์‘์‹œํ‚จ ์–ธ์–ด (๊ธฐ๊ณ„์–ด BASE, ์ž์ฃผ ์“ฐ๋Š” ๊ธฐํ˜ธ๋“ค ์ด์šฉํ•ด์„œ ๋Œ€์‘, ์ž์ฃผ ์“ธ ์ˆ˜ ์žˆ๋„๋ก ์ƒ์ง•ํ•ด์ฃผ๋Š” ์–ธ์–ด) ๊ณ ๊ธ‰์–ธ์–ด ์‚ฌ๋žŒ์ด ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ , ๋ณต์žกํ•œ ์ž‘์—…, ์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋œ ์–ธ์–ด ์ ˆ์ฐจ ์ง€ํ–ฅ ์–ธ์–ด์™€ ๊ฐ์ฒด ์ง€ํ–ฅ ์–ธ์–ด๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Œ ๊ณ ๊ธ‰ ์–ธ์–ด(High-qu..

728x90