๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“– Java19

[ Java ] compareTo()๋ฅผ ๋ชจ๋ฅด๊ณ  ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๋ณด๊ฒ ๋‹ค๊ณ ? ๐Ÿ’ก ๊ณต๋ถ€ํ•˜๊ฒŒ ๋œ ๋ฐฐ๊ฒฝ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋ฅผ ์ค€๋น„ํ•˜๋ ค๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ ๋ฌธ์ œ๋ฅผ ํ’€๊ณ  ์žˆ์—ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ด๋ฒˆ์—๋Š” ์ •๋ ฌ ๋ฌธ์ œ๋ฅผ ๋งˆ์ฃผ์น˜๊ฒŒ ๋˜์—ˆ๊ณ , ๋‚˜๋ฆ„๋Œ€๋กœ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๋ ค๊ณ  ์ƒ๊ฐ์„ ํ•ด๋ดค์ง€๋งŒ ์ „ํ˜€ ์—‰๋šฑํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ์ƒ๊ฐํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์ •๋ ฌ ๋ฌธ์ œ๋ฅผ ์ž˜ ํ’€๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ด€๋ จ ๊ฐœ๋…๋“ค์„ ๊ณต๋ถ€ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๊ณ , ๋ฌธ์ œ์—์„œ ์ ์šฉ๋˜์—ˆ๋˜ compareTo() ๋ฉ”์„œ๋“œ๋ถ€ํ„ฐ ๊ณต๋ถ€ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค!    ๐Ÿค” compareTo(), ์–ด๋–ค ์นœ๊ตฌ์ธ๊ฐ€?!compareTo()๋Š” ๋‘ ๊ฐœ์˜ ๊ฐ’์„ ๋น„๊ตํ•ด์„œ int ๊ฐ’์œผ๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•ด ์ฃผ๋Š” ๋ฉ”์„œ๋“œ์ด๋‹ค!์ˆซ์ž๋“  ๋ฌธ์ž๋“  ๋น„๊ตํ•  ์ˆ˜ ์žˆ๋Š” ๋งŒ๋Šฅ ๋น„๊ต ๋ฉ”์„œ๋“œ๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ๐Ÿ”ข ์ˆซ์ž๋ฅผ ๋น„๊ตํ•  ๋•Œ ๋‹จ์ˆœํ•˜๊ฒŒ ํฌ๋‹ค / ๊ฐ™๋‹ค / ์ž‘๋‹ค์— ๋”ฐ๋ผ ์•„๋ž˜์™€ ๊ฐ™์€ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.๊ฒฐ๊ณผ๊ฐ€ ์–‘์ˆ˜ โ†’ ์•ž์˜ ๊ฐ’์ด ๋” ํผ๊ฒฐ๊ณผ๊ฐ€ 0 โ†’ ๋‘ ๊ฐ’.. 2025. 4. 1.
[ Java ] Stack? ๊ทธ๋ƒฅ ์Œ“๊ธฐ๋งŒ ํ•˜๋Š” ์ค„ ์•Œ์•˜์ง€,, ๐Ÿ’ก ๊ณต๋ถ€ํ•˜๊ฒŒ ๋œ ๋ฐฐ๊ฒฝ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๋ฅผ ์ค€๋น„ํ•˜๋ ค๊ณ  ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ ๋ฌธ์ œ๋ฅผ ํ’€๊ณ  ์žˆ์—ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์Šคํƒ/ํ ๊ฐœ๋…์ด ํ•„์š”ํ•œ ๋ฌธ์ œ๋ฅผ ๋งˆ์ฃผํ•˜๊ฒŒ ๋˜์—ˆ๊ณ , ํ•ด๋‹น ๊ฐœ๋…์„ ์ž˜ ์•Œ์ง€ ๋ชปํ–ˆ๋˜ ๋‚˜๋Š” ๋ฌธ์ œ๋ฅผ ํ’€์ง€ ๋ชปํ•˜๊ณ  ๊ทธ๋Œ€๋กœ ๋ฒฝ์— ๋ถ€๋”ชํžˆ๊ฒŒ ๋˜์—ˆ๋‹ค. ๋‹จ์ˆœํžˆ ๋ฌธ์ œ๋งŒ ๊ณ„์† ํ‘ธ๋Š” ๊ฑด ํ•œ๊ณ„๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฑธ ๋Š๊ผˆ๊ณ , "๊ฐœ๋…์„ ๋จผ์ € ์ œ๋Œ€๋กœ ์žก๊ณ  ๋ฌธ์ œ๋ฅผ ํ’€์ž!"๋Š” ๋งˆ์Œ์œผ๋กœ ์Šคํƒ ๊ณต๋ถ€๋ฅผ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค.   ๐Ÿ“ฆ Stack,, ๊ทธ๋ž˜์„œ ๊ทธ๊ฒŒ ๋„๋Œ€์ฒด ๋ญ”๋ฐ?!Stack ์ปฌ๋ ‰์…˜์Šคํƒ(Stack)์€ ๋ง ๊ทธ๋Œ€๋กœ '์Œ“๋‹ค', '๋”๋ฏธ'๋ผ๋Š” ๋œป์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ƒ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ์œ„๋กœ ์Œ“์•„ ์˜ฌ๋ฆฌ๋“ฏ์ด, ๋ฐ์ดํ„ฐ๋ฅผ ์ฐจ๊ณก์ฐจ๊ณก ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์Œ“๊ณ  ๊บผ๋‚ด๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ์ด๋‹ค!LIFO(Last In First Out) ๊ตฌ์กฐ๋Š” ๋ญ์ง€..?!์Šคํƒ์€ LIFO ๊ตฌ์กฐ์ด๋‹ค.๋ง ๊ทธ๋Œ€๋กœ ๋งˆ์ง€๋ง‰์— ๋„ฃ์€ ๋ฐ์ดํ„ฐ.. 2025. 3. 28.
Java ๊ธฐ๋ณธํŽธ ๊ฐ•์˜_๋‹คํ˜•์„ฑ1 ๋‹คํ˜•์„ฑ 1 ๋‹คํ˜•์„ฑ ์‹œ์ž‘๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๋Œ€ํ‘œ์ ์ธ ํŠน์ง•์œผ๋กœ๋Š” ์บก์Šํ™”, ์ƒ์†, ๋‹คํ˜•์„ฑ์ด ์žˆ๋‹ค. ๊ทธ์ค‘์—์„œ ๋‹คํ˜•์„ฑ์€ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ฝƒ์ด๋ผ ๋ถˆ๋ฆฐ๋‹ค.์•ž์„œ ํ•™์Šตํ–ˆ๋˜ ์บก์Šํ™”๋‚˜ ์ƒ์†์€ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๋‹ค. ๋ฐ˜๋ฉด์— ๋‹คํ˜•์„ฑ์€ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ธฐ๋„ ์–ด๋ ต๊ณ , ์ž˜ ํ™œ์šฉํ•˜๊ธฐ๋Š” ๋” ์–ด๋ ต๋‹ค. ํ•˜์ง€๋งŒ ์ข‹์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹คํ˜•์„ฑ์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ํ•„์ˆ˜๋‹ค.๋‹คํ˜•์„ฑ(Polymorphism)์€ ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ "๋‹ค์–‘ํ•œ ํ˜•ํƒœ", "์—ฌ๋Ÿฌ ํ˜•ํƒœ"๋ฅผ ๋œปํ•œ๋‹ค.ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๋‹คํ˜•์„ฑ์€ ํ•œ ๊ฐ์ฒด๊ฐ€ ์—ฌ๋Ÿฌ ํƒ€์ž…์˜ ๊ฐ์ฒด๋กœ ์ทจ๊ธ‰๋  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์„ ๋œปํ•œ๋‹ค. ๋ณดํ†ต ํ•˜๋‚˜์˜ ํƒ€์ž…์œผ๋กœ ๊ณ ์ •๋˜์–ด ์žˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ๋‹คํ˜•์„ฑ์„ ์‚ฌ์šฉํ•˜๋ฉด ํ•˜๋‚˜์˜ ๊ฐ์ฒด๊ฐ€ ๋‹ค๋ฅธ ํƒ€์ž…์œผ๋กœ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์ด๋‹ค. ๋‹คํ˜•์„ฑ์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” 2๊ฐ€์ง€ ํ•ต์‹ฌ ์ด๋ก ์„ ์•Œ์•„์•ผ ํ•œ๋‹ค.๋‹คํ˜•์  ์ฐธ์กฐ๋ฉ”์„œ๋“œ .. 2024. 12. 2.
Java ๊ธฐ๋ณธํŽธ ๊ฐ•์˜_์ƒ์† ์ƒ์† ์ƒ์† - ์‹œ์ž‘package extends1.ex1;public class ElectricCar { public void move() { System.out.println("์ฐจ๋ฅผ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค."); } public void charge() { System.out.println("์ถฉ์ „ํ•ฉ๋‹ˆ๋‹ค."); }}package extends1.ex1;public class GasCar { public void move() { System.out.println("์ฐจ๋ฅผ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค."); } public void fillUp() { System.out.println("๊ธฐ๋ฆ„์„ ์ฃผ์œ ํ•ฉ๋‹ˆ๋‹ค."); }}package extends1.ex.. 2024. 12. 1.
Java ๊ธฐ๋ณธํŽธ ๊ฐ•์˜_final final final ๋ณ€์ˆ˜์™€ ์ƒ์ˆ˜final ํ‚ค์›Œ๋“œ๋Š” ์ด๋ฆ„ ๊ทธ๋Œ€๋กœ ๋! ์ด๋ผ๋Š” ๋œป์ด๋‹ค.๋ณ€์ˆ˜์— final ํ‚ค์›Œ๋“œ๊ฐ€ ๋ถ™์œผ๋ฉด ๋”๋Š” ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค.์ฐธ๊ณ ๋กœ final์€ class, method๋ฅผ ํฌํ•จํ•œ ์—ฌ๋Ÿฌ ๊ณณ์— ๋ถ™์„ ์ˆ˜ ์žˆ๋‹ค.final - ์ง€์—ญ ๋ณ€์ˆ˜package final1;public class FinalLocalMain { public static void main(String[] args) { // final ์ง€์—ญ ๋ณ€์ˆ˜ final int data1; data1 = 10; // ์ตœ์ดˆ ํ•œ๋ฒˆ๋งŒ ํ• ๋‹น ๊ฐ€๋Šฅ //data1 = 20; // ์ปดํŒŒ์ผ ์˜ค๋ฅ˜ ๋ฐœ์ƒ // final ์ง€์—ญ ๋ณ€์ˆ˜ 2 final int data2 = 10; .. 2024. 11. 28.
Java ๊ธฐ๋ณธํŽธ ๊ฐ•์˜_์ ‘๊ทผ ์ œ์–ด์ž ์ ‘๊ทผ ์ œ์–ด์ž ์ ‘๊ทผ ์ œ์–ด์ž ์ดํ•ด 1์ ‘๊ทผ ์ œ์–ด์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ•ด๋‹น ํด๋ž˜์Šค ์™ธ๋ถ€์—์„œ ํŠน์ • ํ•„๋“œ๋‚˜ ๋ฉ”์„œ๋“œ์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜๊ฑฐ๋‚˜ ์ œํ•œํ•  ์ˆ˜ ์žˆ๋‹ค.ํ•„๋“œ์— ์ง์ ‘ ์ ‘๊ทผํ•ด์„œ ์›ํ•˜๋Š” ๊ฐ’์„ ์„ค์ •ํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ๊ทผ๋ณธ์ ์œผ๋กœ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•„๋“œ์˜ ์™ธ๋ถ€ ์ ‘๊ทผ์„ ๋ง‰์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ํ•„์š”ํ•˜๋‹ค. ์ ‘๊ทผ ์ œ์–ด์ž ์ดํ•ด 2private ์ ‘๊ทผ ์ œ์–ด์ž๋Š” ๋ชจ๋“  ์™ธ๋ถ€ ํ˜ธ์ถœ์„ ๋ง‰๋Š”๋‹ค. ๋”ฐ๋ผ์„œ private์ด ๋ถ™์€ ๊ฒฝ์šฐ ํ•ด๋‹น ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ๋งŒ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. โœ”๏ธ ์ฐธ๊ณ ์ข‹์€ ํ”„๋กœ๊ทธ๋žจ์€ ๋ฌดํ•œํ•œ ์ž์œ ๋„๊ฐ€ ์ฃผ์–ด์ง€๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์•„๋‹ˆ๋ผ ์ ์ ˆํ•œ ์ œ์•ฝ์„ ์ œ๊ณตํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์ ‘๊ทผ ์ œ์–ด์ž ์ข…๋ฅ˜Java๋Š” 4๊ฐ€์ง€ ์ข…๋ฅ˜์˜ ์ ‘๊ทผ ์ œ์–ด์ž๋ฅผ ์ œ๊ณตํ•œ๋‹ค.์ ‘๊ทผ ์ œ์–ด์ž ์ข…๋ฅ˜private : ๋ชจ๋“  ์™ธ๋ถ€ ํ˜ธ์ถœ์„ ๋ง‰๋Š”๋‹ค.default(package-private) : ๊ฐ™์€ ํŒจํ‚ค์ง€ ์•ˆ.. 2024. 11. 28.