๐ 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) ๋ฌธ์์ด ๋ถ๋ฆฌ ๋ฌธ์์ด์์ ํน์ ๋ฌธ์(๊ตฌ๋ถ์)๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด..