๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

Java107

[Java] ์ •์  ๋ฉ”์„œ๋“œ โ–ถ ์ •์  ๋ฉ”์„œ๋“œ ์ •์  ๋ฉ”์„œ๋“œ๋Š” static ์˜ˆ์•ฝ์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ ์–ธํ•˜๋ฉฐ ํด๋ž˜์Šค ์ƒ์„ฑ๊ณผ ๋ฌด๊ด€ํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ •์  ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ธํ„ฐํŽ˜์ด์Šค ์ด๋ฆ„์œผ๋กœ ์ง์ ‘ ์ฐธ์กฐํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค. package interfaceex; public interface Calc { double PI = 3.14; int ERROR = -999999999; int add(int num1, int num2); int substract(int num1, int num2); int times(int num1, int num2); int divide(int num1, int num2); default void description() { System.out.println("์ •์ˆ˜ ๊ณ„์‚ฐ๊ธฐ๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค"); } static int tot.. 2021. 2. 21.
[Java] ๋””ํดํŠธ ๋ฉ”์„œ๋“œ โ–ถ ๋””ํดํŠธ ๋ฉ”์„œ๋“œ ๋ง ๊ทธ๋Œ€๋กœ ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณต๋˜๋Š” ๋ฉ”์„œ๋“œ. ๋””ํดํŠธ ๋ฉ”์„œ๋“œ๋Š” ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ๊ตฌํ˜„ํ•˜์ง€๋งŒ, ์ดํ›„ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด ๊ทธ ํด๋ž˜์Šค์—์„œ ์‚ฌ์šฉํ•  ๊ธฐ๋ณธ ๊ธฐ๋Šฅ์ด๋‹ค. ์„ ์–ธํ•  ๋•Œ default ์˜ˆ์•ฝ์–ด๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. package interfaceex; public interface Calc { double PI = 3.14; int ERROR = -999999999; int add(int num1, int num2); int substract(int num1, int num2); int times(int num1, int num2); int divide(int num1, int num2); default void description() { System.out.println("์ •์ˆ˜ ๊ณ„์‚ฐ๊ธฐ๋ฅผ ๊ตฌํ˜„.. 2021. 2. 20.
[Java] ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋‹คํ˜•์„ฑ โ–ถ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์—ญํ•  ์ธํ„ฐํŽ˜์ด์Šค์˜ ์—ญํ• ์€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค๊ฐ€ ์–ด๋–ค ๊ธฐ๋Šฅ์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•˜๋Š”์ง€ ๋ช…์‹œํ•˜๋Š” ๊ฒƒ์ด๋‹ค. โ€‹ โ€‹ โ€‹ โ–ถ ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋‹คํ˜•์„ฑ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŽ์ด ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ  ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. โ€‹ โ€‹ โ€‹ โ–ถ ๊ณ ๊ฐ ์ƒ๋‹ด ์ „ํ™” ๋ฐฐ๋ถ„ ํ”„๋กœ๊ทธ๋žจ ๋งŒ๋“ค๊ธฐ package scheduler; public interface Scheduler { public void getNextCall(); public void sendCallToAgent(); } package scheduler; public class RoundRobin implements Scheduler { @Override public void getNextCall() { System.ou.. 2021. 2. 20.
[Java] ์ธํ„ฐํŽ˜์ด์Šค โ–ถ ์ธํ„ฐํŽ˜์ด์Šค ์ถ”์ƒ ๋ฉ”์„œ๋“œ์™€ ์ƒ์ˆ˜๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๊ฒƒ. ๊ตฌํ˜„๋œ ์ฝ”๋“œ๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋‹น์—ฐํžˆ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ธ์Šคํ„ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์—†๋‹ค. Calc ์ธํ„ฐํŽ˜์ด์Šค ๋งŒ๋“ค๊ธฐ -์ธํ„ฐํŽ˜์ด์Šค์— ์„ ์–ธํ•œ ๋ฉ”์„œ๋“œ๋Š” ๋ชจ๋‘ ๊ตฌํ˜„ ์ฝ”๋“œ๊ฐ€ ์—†๋Š” ์ถ”์ƒ ๋ฉ”์„œ๋“œ. ์ด๋“ค ๋ฉ”์„œ๋“œ๋Š” public abstract ์˜ˆ์•ฝ์–ด๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์“ฐ์ง€ ์•Š์•„๋„ ์ปดํŒŒ์ผ ๊ณผ์ •์—์„œ ์ž๋™์œผ๋กœ ์ถ”์ƒ ๋ฉ”์„œ๋“œ๋กœ ๋ณ€ํ™˜๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ธํ„ฐํŽ˜์ด์Šค์— ์„ ์–ธํ•œ ๋ณ€์ˆ˜๋Š” ๋ชจ๋‘ ์ปดํŒŒ์ผ ๊ณผ์ •์—์„œ ๊ฐ’์ด ๋ณ€ํ•˜์ง€ ์•Š๋Š” ์ƒ์ˆ˜๋กœ ์ž๋™ ๋ณ€ํ™˜๋œ๋‹ค. public static final ์˜ˆ์•ฝ์–ด๋ฅผ ์“ฐ์ง€ ์•Š์•„๋„ ๋ฌด์กฐ๊ฑด ์ƒ์ˆ˜๋กœ ์ธ์‹ํ•œ๋‹ค. โ€‹ โ€‹โ€‹ โ–ถ ํด๋ž˜์Šค์—์„œ ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„ํ•˜๊ธฐ ์„ ์–ธํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํด๋ž˜์Šค๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ 'ํด๋ž˜์Šค์—์„œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค'๋ผ๊ณ  ํ‘œํ˜„ํ•œ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค์—์„œ๋Š” ์ธํ„ฐํŽ˜์ด์Šค์— ์„ ์–ธํ•œ ๊ธฐ๋Šฅ์„ ํด๋ž˜์Šค๊ฐ€.. 2021. 2. 20.
[Java] ๊ฐœ๋… ์žก๊ธฐ 2 (๊ณต๋ถ€ ๊ธฐ๋ก) โ–ถ ์กฐ๊ฑด๋ฌธ - if๋ฌธ๊ณผ if-else if๋ฌธ ์ฃผ์–ด์ง„ ์กฐ๊ฑด์‹์ด '์ฐธ'์ผ ๊ฒฝ์šฐ์— if๋ฌธ ๋ธ”๋ก ์•ˆ์— ์žˆ๋Š” ๋ฌธ์žฅ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  '๊ฑฐ์ง“'์ผ ๊ฒฝ์šฐ์—๋Š” else๋ฌธ ๋ธ”๋ก ์•ˆ์— ์žˆ๋Š” ๋ฌธ์žฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ else๋ฌธ์—๋Š” '์กฐ๊ฑด์‹'์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. if-else if๋ฌธ์€ ํ•˜๋‚˜์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด ๋‚˜๋จธ์ง€ ์กฐ๊ฑด์„ ๋น„๊ตํ•˜์ง€ ์•Š๊ณ  ๋‹ค์Œ ์ˆ˜ํ–‰๋ฌธ์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค. ํ•˜์ง€๋งŒ if๋ฌธ์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ์ฝ”๋“œ๋Š” ์กฐ๊ฑด๋งˆ๋‹ค ๊ฐ๊ฐ ๋น„๊ตํ•œ๋‹ค. โ€‹ ๋”ฐ๋ผ์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ํ•˜๋‚˜์˜ ์ƒํ™ฉ์— ์—ฌ๋Ÿฌ ์กฐ๊ฑด์„ ๋น„๊ตํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” if-else if ๋ฌธ์œผ๋กœ ๊ตฌํ˜„ํ•ด์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์•ผ ํ•˜๋‚˜์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ๋ฅผ ๋” ์ด์ƒ ๋น„๊ตํ•˜์ง€ ์•Š๋Š”๋‹ค. โ€‹ โ€‹ - switch-case๋ฌธ ์ฃผ๋กœ ์กฐ๊ฑด์ด ํ•˜๋‚˜์ธ ๋ณ€์ˆ˜ ๊ฐ’์ด๋‚˜ ์ƒ์ˆ˜ ๊ฐ’์œผ๋กœ ๊ตฌ๋ถ„๋˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•œ๋‹ค. ์ฃผ์–ด์ง„ ๊ฐ’์ด ์–ด๋–ค c.. 2021. 2. 20.
[Java] ๊ฐœ๋… ์žก๊ธฐ (๊ณต๋ถ€ ๊ธฐ๋ก) ์ž‘์„ฑ์ค‘ โ–ถ ํด๋ž˜์Šค์˜ 3๊ฐ€์ง€ ๊ตฌ์„ฑ ์š”์†Œ -์ธ์Šคํ„ดํŠธ ๋ณ€์ˆ˜ : ๋ฐ์ดํ„ฐ๊ฐ€ ์‹ค์ œ๋กœ ์ €์žฅ๋˜๋Š” ๊ณณ -๋ฉ”์„œ๋“œ : ์ธ์Šคํ„ดํŠธ ๋ณ€์ˆ˜์— ์ €์žฅ๋œ ์†์„ฑ๊ฐ’์„ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์กฐํšŒํ•˜๋Š” ์—ญํ•  -์ƒ์„ฑ์ž : ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๋Š” ์—ญํ• . ๋ณ€์ˆ˜์— ๋ฐ์ดํ„ฐ๋ฅผ ๋งจ ์ฒ˜์Œ ์ €์žฅํ•  ๋•Œ ์‚ฌ์šฉ โ€‹ โ€‹ โ–ถ ์ƒ์„ฑ์ž ๊ฐ์ฒด ์ƒ์„ฑ ์‹œ ์ž๋™์œผ๋กœ ํ˜ธ์ถœ๋˜๋Š” ๋ฉ”์„œ๋“œ ์ผ๋ฐ˜ ๋ฉ”์„œ๋“œ์™€ ๋‹ฌ๋ฆฌ ๋ฆฌํ„ดํ˜•์ด ์—†๋‹ค ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ƒ์„ฑ์ž๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค ์ƒ์„ฑ์ž๊ฐ€ ์—†์„ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋กœ ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋‹ค ์ƒ์„ฑ์ž์—์„œ๋Š” ์ฃผ๋กœ ๋ฉค๋ฒ„์˜ ์ดˆ๊ธฐํ™”๋ฅผ ๋‹ด๋‹นํ•œ๋‹ค ๊ฐ™์€ ์ƒ์„ฑ์ž๋ผ๋ฆฌ ํ˜ธ์ถœ์€ this( )๋กœ ํ•œ๋‹ค โ€‹ โ€‹ โ–ถ ์ ‘๊ทผ ์ง€์ •์ž private : ํ•ด๋‹น ํด๋ž˜์Šค๊ฐ€ ๊ฐ€์ง„ ๋ฉค๋ฒ„ ๋ฉ”์„œ๋“œ๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ protected : ํŒจํ‚ค์ง€๊ฐ€ ๋‹ค๋ฅผ ๊ฒฝ์šฐ ์ƒ์†๋ฐ›์€ ํด๋ž˜์Šค๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅ default : (์•„๋ฌด๊ฒƒ๋„ ์•ˆ ์“ด ๊ฒฝ์šฐ) ํŒจํ‚ค์ง€๊ฐ€ ๋‹ค๋ฅผ ๊ฒฝ.. 2021. 2. 20.
๋ฐ˜์‘ํ˜•