๐Ÿ“† Today I Learned(๊ฐœ๋ฐœ์–ธ์–ดํ•™์Šต)/JAVA

    [JAVA] instanceof (๊ฐ์ฒด ํƒ€์ž… ํ™•์ธ)

    T1) instanceof ์—ฐ์‚ฐ์ž ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๋‹คํ˜•์„ฑ์œผ๋กœ ์ธํ•ด ์‹ค์ œ๋กœ ์–ด๋–ค ๊ฐ์ฒด๊ฐ€ ๋งค๊ฐœ๊ฐ’์œผ๋กœ ํ™œ์šฉ๋˜๊ณ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ• ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ณ€์ˆ˜๊ฐ€ ์ฐธ์กฐํ•˜๋Š” ๊ฐ์ฒด์˜ ํƒ€์ž…์„ ํ™•์ธํ•˜๊ณ ์žํ• ๋•Œ ํ™œ์šฉ instanceof ์—ฐ์‚ฐ์ž์˜ ์ขŒํ•ญ์—๋Š” ๊ฐ์ฒด๊ฐ€ ์˜ค๊ณ  ์šฐํ•ญ์—๋Š” ํƒ€์ž…์ด ์˜จ๋‹ค. ํƒ€์ž…์ด ๊ฐ™์œผ๋ฉด true ์•„๋‹ˆ๋ฉด false Java 12๋ถ€ํ„ฐ๋Š” instanceof์—ฐ์‚ฐ์˜ ๊ฒฐ๊ณผ๊ฐ€ true์ผ ๊ฒฝ์šฐ, ์šฐ์ธก ํƒ€์ž… ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ๋•Œ๋ฌธ์— ๊ฐ•์ œํƒ€์ž…๋ณ€ํ™˜์„ ํ•˜์ง€์•Š์•„๋„ ๋œ๋‹ค. /*๊ธฐ๋ณธํ˜•ํƒœ*/ boolean result = ๊ฐ์ฒด instanceof ํƒ€์ž…; // ์ž๋ฐ” 12 ์ด์ „ : ๊น…์ œ ํƒ€์ž… ๋ณ€ํ™˜ ํ•„์š” public void method(Parent parent) { if(parent instanceof Child) { Child child ..

    [JAVA] ์ดํด๋ฆฝ์Šค ์˜ค๋ฒ„๋ผ์ด๋”ฉ ๋ฉ”์†Œ๋“œ ์ž๋™ ์ƒ์„ฑ ๊ธฐ๋Šฅ

    ์ดํด๋ฆฝ์Šค๋Š” ์˜ค๋ฒ„๋ผ์ด๋”ฉ ๋ฉ”์†Œ๋“œ๋ฅผ ์ž๋™ ์ƒ์„ฑํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ๋ถ€๋ชจ ๋ฉ”์†Œ๋“œ์˜ ์‹œ๊ทธ๋„ˆ์ฒ˜๋ฅผ ์ •ํ™•ํžˆ ๋ชจ๋ฅผ ๊ฒฝ์šฐ ๋งค์šฐ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. 1. ์ž์‹ ํด๋ž˜์Šค์—์„œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ ๋ฉ”์†Œ๋“œ๋ฅผ ์ž‘์„ฑํ•  ์œ„์น˜๋กœ ์ž…๋ ฅ ์ปค์„œ๋ฅผ ์˜ฎ๊ธด๋‹ค. 2. ๋ฉ”๋‰ด์—์„œ [Source] - [Override/Implement Methods]๋ฅผ ์„ ํƒํ•œ๋‹ค. 3. ๋ถ€๋ชจ ํด๋ž˜์Šค์—์„œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ๋  ๋ฉ”์†Œ๋“œ๋ฅผ ์„ ํƒํ•˜๊ณ  [OK] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•œ๋‹ค. ์˜ค๋ฒ„๋ผ์ด๋”ฉ ๊ฐ€๋ฒผ์šด ์ •๋ฆฌ 2023.11.22 - [๐Ÿ“† Today I Learned(๊ฐœ๋ฐœ์–ธ์–ดํ•™์Šต)/JAVA] - [JAVA] ๋ฉ”์†Œ๋“œ ์žฌ์ •์˜ (๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ)

    [JAVA] ๋ฉ”์†Œ๋“œ ์žฌ์ •์˜ (๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ)

    ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ(Overriding) ์ƒ์†๋œ ๋ฉ”์†Œ๋“œ๋ฅผ ์ž์‹ ํด๋ž˜์Šค์—์„œ ์žฌ์ •์˜ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ฆฌ์ด๋”ฉ ์‹œ ํ•ด๋‹น ๋ถ€๋ชจ ๋ฉ”์†Œ๋“œ๋Š” ์ˆจ๊ฒจ์ง€๊ณ , ์ž์‹ ๋ฉ”์†Œ๋“œ๊ฐ€ ์šฐ์„ ์ ์œผ๋กœ ์‚ฌ์šฉ๋œ๋‹ค. ๋ถ€๋ชจ ๋ฉ”์†Œ๋“œ์˜ ์„ ์–ธ๋ถ€(๋ฆฌํ„ด ํƒ€์ž…, ๋ฉ”์†Œ๋“œ ์ด๋ฆ„, ๋งค๊ฐœ๋ณ€์ˆ˜)์™€ ๋™์ผํ•ด์•ผ ํ•œ๋‹ค. ์ ‘๊ทผ ์ œํ•œ์„ ๋” ๊ฐ•ํ•˜๊ฒŒ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•  ์ˆ˜ ์—†๋‹ค.(public → private์œผ๋กœ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€) ์ƒˆ๋กœ์šด ์˜ˆ์™ธ๋ฅผ throwsํ•  ์ˆ˜ ์—†๋‹ค. ๋ถ€๋ชจ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ ๋ฉ”์†Œ๋“œ๋ฅผ ์žฌ์ •์˜ํ•˜๋ฉด, ๋ถ€๋ชจ ๋ฉ”์†Œ๋“œ๋Š” ์ˆจ๊ฒจ์ง€๊ณ  ์ž์‹ ๋ฉ”์†Œ๋“œ๋งŒ ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ฒ„๋ผ์ด๋”ฉ๋œ ๋ฉ”์†Œ๋“œ์—์„œ ์ค‘๋ณต๋œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ฒŒ ๋  ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด ๋ฌธ์ œ๋Š” ์ž์‹ ๋ฉ”์†Œ๋“œ์—์„œ ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉํ•  ๋•Œ ํ•ด๋‹น ๋ฉ”์†Œ๋“œ์— ๋ถ€๋ชจ์˜ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด๋œ๋‹ค. ( superํ‚ค์›Œ๋“œ์™€ ๋„ํŠธ(.)์—ฐ์‚ฐ์ž ์‚ฌ์šฉ ) public class Air..

    [JAVA] import ๋ฌธ ์ž๋™ ์ถ”๊ฐ€ ๊ธฐ๋Šฅ

    ์ดํด๋ฆฝ์Šค๋Š” ์†Œ์Šค์—์„œ ์‚ฌ์šฉํ•œ ํด๋ž˜์Šค๋ฅผ ์กฐ์‚ฌํ•ด์„œ ํ•„์š”ํ•œ import ๋ฌธ์„ ์ž๋™์œผ๋กœ ์ถ”๊ฐ€ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค. 1. ๊ธฐ๋ณธ์ ์œผ๋กœ 'import ์ „์ฒดํด๋ž˜์Šค์ด๋ฆ„;'์œผ๋กœ ์ถ”๊ฐ€ํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ ํƒํ•œ๋‹ค. ์ƒ๋‹จ ๋ฉ”๋‰ด - [Source] - [Organize imports] (๋‹จ์ถ•ํ‚ค : Ctrl + Shift + O ) 2. 'import ํŒจํ‚ค์ง€.*;' ๋กœ ์ถ”๊ฐ€๋˜๊ธธ ์›ํ•œ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ดํด๋ฆฝ์Šค ์„ค์ •์„ ๋ณ€๊ฒฝํ•œ๋‹ค. ์ƒ๋‹จ ๋ฉ”๋‰ด - [Window] - [Preference] - [Java] - [Code Style] - [Organize imports] - Number of imports needed for.*์˜ 99๋ฅผ 1๋กœ ๋ณ€๊ฒฝ ์ถœ์ฒ˜:์ด๊ฒƒ์ด ์ž๋ฐ”๋‹ค(๊ต์œก ํ˜„์žฅ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” JAVA ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ธฐ๋ณธ์„œ) https:/..

    [JAVA] ๊ฐ€๋ณ€๊ธธ์ด ๋งค๊ฐœ๋ณ€์ˆ˜

    ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋งค๋ฒˆ ๋ฐ”๋€๋‹ค๋ฉด? ๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ์„ ๊ณ„์†ํ•ด์•ผ๋ ๊นŒ? ์•„๋‹ˆ๋‹ค. ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐœ์ˆ˜์— ์ƒ๊ด€์—†์ด ํ˜ธ์ถœํ•˜๊ธฐ๋ฅผ ์›ํ•œ๋‹ค๋ฉด ๊ฐ€๋ณ€๊ธธ์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ง„ ๋ฉ”์†Œ๋“œ๋ฅผ ์„ ์–ธํ•œ๋‹ค. int sum(int ··· values) { } ๊ฐ€๋ณ€๊ธธ์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ ์‹œ ๋งค๊ฐœ๊ฐ’์„ ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ๊ฐœ์ˆ˜์™€ ์ƒ๊ด€์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. int result = sum(1,2,3); int result = sum(1,2,3,4,5); ๋งค๊ฐœ๊ฐ’๋“ค์€ ์ž๋™์œผ๋กœ ๋ฐฐ์—ด ํ•ญ๋ชฉ์œผ๋กœ ๋ณ€ํ™˜๋˜์–ด ๋ฉ”์†Œ๋“œ์—์„œ ์‚ฌ์šฉ๋œ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ ์‹œ ์ง์ ‘ ๋ฐฐ์—ด์„ ๋งค๊ฐœ๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•ด๋„ ๋œ๋‹ค. int[] values = { 1, 2, 3 }; int result = sum(values); // OR int result1 = sum(new in..

    [JAVA] ๋ฐฐ์—ด(Array)

    T1 ) ๋ฐฐ์—ด(Array) ๊ธฐ๋ณธํŠน์ง• ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณ€์ˆ˜๋Š” ํ•˜๋‚˜์˜ ๊ฐ’๋งŒ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋–„๋ฌธ์— ์ €์žฅํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š” ๊ฐ’์ด ๋Š˜์–ด๋‚ ์ˆ˜๋ก ๋น„ํšจ์œจ์ ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ๋ฐฐ์—ด์€ ๋งŽ์€ ์–‘์˜ ๊ฐ’์„ ํšจ์œจ์ ์œผ๋กœ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ๋ฐฐ์—ด์€ ์—ฐ์†๋œ ๊ณต๊ฐ„์— ๊ฐ’์„ ๋‚˜์—ด์‹œํ‚ค๊ณ , ๊ฐ ๊ฐ’์— ์ธ๋ฑ์Šค(index)๋ฅผ ๋ถ€์—ฌํ•ด ๋†“์€ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.(0๋ถ€ํ„ฐ ์‹œ์ž‘) ๋ฐฐ์—ด์€ ๊ฐ™์€ ํƒ€์ž…์˜ ๊ฐ’๋งŒ ๊ด€๋ฆฌํ•œ๋‹ค. ( int๋ฐฐ์—ด์€ intํƒ€์ž…์˜ ๊ฐ’๋งŒ, String๋ฐฐ์—ด์€ ๋ฌธ์ž์—ด๋งŒ ) ๋ฐฐ์—ด์˜ ๊ธธ์ด๋Š” ๋Š˜๋ฆฌ๊ฑฐ๋‚˜ ์ค„์ผ ์ˆ˜ ์—†๋‹ค. ( ๋ฐฐ์—ด์€ ์ƒ์„ฑ๊ณผ ๋™์‹œ์— ๊ธธ์ด๊ฐ€ ๊ฒฐ์ •๋œ๋‹ค. ) ๋ฐฐ์—ด ๋ณ€์ˆ˜๋Š” ์ฐธ์กฐ ๋ณ€์ˆ˜์ด๋‹ค. ๋ฐฐ์—ด๋„ ๊ฐ์ฒด์ด๋ฏ€๋กœ ํž™ ์˜์—ญ์— ์ƒ์„ฑ๋˜๊ณ  ๋ฐฐ์—ด ๋ณ€์ˆ˜๋Š” ํž™์˜์—ญ์˜ ๋ฐฐ์—ด ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•œ๋‹ค. ์ฐธ์กฐํ•  ๋ฐฐ์—ด์ด ์—†๋‹ค๋ฉด ๋ฐฐ์—ด ๋ณ€์ˆ˜๋„ null๋กœ ์ดˆ๊ธฐํ™”ํ• ..

    [JAVA] ๋ฌธ์ž์—ด ์œ„์น˜์ฐพ๊ธฐ · ํฌํ•จ์—ฌ๋ถ€ํ™•์ธ

    T1) ๋ฌธ์ž์—ด ์œ„์น˜์ฐพ๊ธฐ ๋ฌธ์ž์—ด์—์„œ ํŠน์ • ๋ฌธ์ž์—ด์˜ ์œ„์น˜๋ฅผ ์ฐพ์œผ๋ ค๋ฉด indexOf() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. indexOf() ๋ฉ”์†Œ๋“œ๋Š” ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์ด ์‹œ์ž‘๋˜๋Š” ์ธ๋ฑ์Šค๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฉด indexOf() ๋ฉ”์†Œ๋“œ๋Š” -1์„ ๋ฆฌํ„ดํ•œ๋‹ค. public static void main(String[] args) { String str = " ๋ฌธ์ž๋ฌธ์ง€๋ฐฉ๋ฌธ"; System.out.println(str.indexOf("๋ฐฉ")); // 5 if(str.indexOf("์•“") == -1) { System.out.println("ํฌํ•จ๋˜์ง€์•Š์Œ"); }else { System.out.println("ํฌํ•จ๋จ"); } // ํฌํ•จ๋˜์ง€์•Š์Œ } T2 ) ๋ฌธ์ž์—ด ํฌํ•จ์—ฌ๋ถ€ํ™•์ธ ๋‹จ์ˆœํžˆ ๋ฌธ์ž์—ด์•ˆ์— ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€๋งŒ ํ™•์ธํ•˜..

    [JAVA] ๋ฌธ์ž์—ด ์ž๋ฅด๊ธฐ · ๋ถ„๋ฆฌ( substring() · split() )

    T1) ๋ฌธ์ž์—ด ์ž๋ฅด๊ธฐ ๋ฌธ์ž์—ด์—์„œ ํŠน์ • ๋ถ€๋ถ„์˜ ๋ฌธ์ž์—ด์„ ์ถ”์ถœํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด substring() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. substring() ๋ฉ”์†Œ๋“œ์—์„œ๋„ ๋‹น์—ฐํžˆ ๊ณต๋ฐฑ๋„ ํฌํ•จํ•œ๋‹ค. substring(์‹œ์ž‘์ง€์ ) = ์‹œ์ž‘์ง€์ ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋ฐ˜ํ™˜ substring(์‹œ์ž‘์ง€์ , ๋์ง€์ ) = ์‹œ์ž‘์ง€์ ๋ถ€ํ„ฐ ๋์ง€์  -1 ์œ„์น˜๊นŒ์ง€ ๋ฐ˜ํ™˜ public class StringVarTest { public static void main(String[] args) { String str = " ๋ฌธ์ž๋ฌธ์ง€๋ฐฉ๋ฌธ"; System.out.println(str.substring(1));//๋ฌธ์ž๋ฌธ์ง€๋ฐฉ๋ฌธ System.out.println(str.substring(1, 3));//๋ฌธ์ž } } T2) ๋ฌธ์ž์—ด ๋ถ„๋ฆฌ ๋ฌธ์ž์—ด์—์„œ ํŠน์ • ๋ฌธ์ž(๊ตฌ๋ถ„์ž)๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ฌธ์ž์—ด..