Java19 [java] ๋คํ์ฑ ๋คํ์ฑ์ด๋?๊ฐ์ ํ์ ์ ๋ณ์๊ฐ ๋ค์ํ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ ์ ์๊ฒ ํ๋ ๊ฐ๋ ์ ์๋ฏธํ๋ค.์ฃผ๋ก ์๋ํ๋ณํ+์ฌ์ ์(์ค๋ฒ๋ผ์ด๋ฉ)์ผ๋ก ์ด๋ฃจ์ด ์ง๋ฉฐ, ์ด๋ก ์ธํด ์ฝ๋ ์ ์ฐ์ฑ๊ณผ ํ์ฅ์ฑ์ ํจ๊ณผ๋ฅผ ๋ณผ ์ ์๋ค.๋คํ์ฑ์ OOP(๊ฐ์ฒด์งํฅํ๋ก๊ทธ๋๋ฐ) ์์น ์ค์ ํ๋๋ก ์ฃผ์ ๊ธฐ์ ์ค์๋ ์ธํฐํ์ด์ค๊ฐ ์๋ค. ์์:Animal ์ธํฐํ์ด์คpackage ex;public interface Animal { void sound();} Cat ํด๋์คpackage ex;public class Cat implements Animal { public void sound() { System.out.println("์ผ์น"); }} Dog ํด๋์คpackage ex;public class Dog implements Animal { public void .. 2025. 9. 9. [java] final,static, static final ์ฐจ์ด โ final ํค์๋ (์์ํ ๊ฐ๋ )๋ณ์์ ์ฌ์ฉํ๋ฉด: ๊ฐ์ด ํ ๋ฒ๋ง ํ ๋น๋ ์ ์๋ค๋ ๋ป์ ๋๋ค.๋ฉ์๋์ ์ฌ์ฉํ๋ฉด: ํด๋น ๋ฉ์๋๋ฅผ ์ค๋ฒ๋ผ์ด๋ฉ(์ฌ์ ์) ํ ์ ์์ต๋๋ค.ํด๋์ค์ ์ฌ์ฉํ๋ฉด: ๊ทธ ํด๋์ค๋ฅผ ์์ํ ์ ์์ต๋๋ค.์์:final int x = 10;x = 20; // ์ปดํ์ผ ์๋ฌ! final ๋ณ์๋ ๊ฐ ๋ณ๊ฒฝ ๋ถ๊ฐโ static ํค์๋ (๊ณต์ ๊ฐ๋ , ๊ฐ์ฒด์์ฑx)ํด๋์ค์ ์ํ ๊ณต์ฉ ์์์ ๋ง๋ค ๋ ์ฌ์ฉํฉ๋๋ค.์ธ์คํด์ค๋ฅผ ์์ฑํ์ง ์์๋ ์ ๊ทผํ ์ ์์ด์.์์:static int count = 0;public static void main(String[] args) { System.out.println(count); // ๊ฐ์ฒด ์์ด๋ ์ฌ์ฉ ๊ฐ๋ฅ}โ static final (๊ณต์ ํ๋ ์์์๋ฏธ)์ด ์กฐํฉ์ .. 2025. 9. 7. [java] ์ด๊ฑฐํ ํ์ enum ์๋ฐ์์ enum์ **์ด๊ฑฐํ ํ์ (enumeration type)**์ผ๋ก, ์๋ก ๊ด๋ จ๋ ์์๋ค์ ํ๋์ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ ๋ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ์์ผ, ๋ฐฉํฅ, ์ํ ๋ฑ ๋ณ๊ฒฝ๋์ง ์๋ ๊ณ ์ ๋ ๊ฐ๋ค์ ํํํ ๋ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค.โ 1. enum์ด๋?enum์ ํด๋์ค์ฒ๋ผ ๋์ํ๋ ํน๋ณํ ๋ฐ์ดํฐ ํ์ ์ ๋๋ค.enum์ผ๋ก ์ ์๋ ๊ฐ๋ค์ ์๋ฌต์ ์ผ๋ก final์ด๋ฉด์ static, ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ ์์์ ๋๋ค. ๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ:public class EnumExample { public enum Season { SPRING, SUMMER, FALL, WINTER } public static void main(String[] args) { Season now = Season.FALL.. 2025. 9. 6. [java] Map-HashMap, LinkedHashMap, TreeMap โ ์๋ฐ Map ์ธํฐํ์ด์ค ์ฃผ์ ๊ตฌํ์ฒด ๋น๊ต ๊ตฌ๋ถ HashMapLinkedHashMapTreeMapHashtable (๋ ๊ฑฐ์)๊ธฐ๋ณธ ๊ตฌ์กฐํด์ ํ ์ด๋ธํด์ ํ ์ด๋ธ + ์ ๋ ฅ ์์ ์ ์ง์ด์ง ๊ฒ์ ํธ๋ฆฌ (Red-Black Tree)ํด์ ํ ์ด๋ธ์ ๋ ฌ ์ฌ๋ถโ ์์ (์์ ๋ถํ์ )โ ์ ๋ ฅํ ์์ ์ ์งโ ํค ๊ธฐ์ค ์๋ ์ ๋ ฌ (Comparable or Comparator)โ ์์ (์์ ๋ถํ์ )null ํ์ฉ ์ฌ๋ถโ null ํค 1๊ฐ, null ๊ฐ ์ฌ๋ฌ ๊ฐ ํ์ฉโ ๋์ผโ null ํค ํ์ฉ ์ ํจโ null ํค/๊ฐ ๋ชจ๋ ํ์ฉ ์ ํจ๋๊ธฐํ (Thread-safe)โ ๋น๋๊ธฐํโ ๋น๋๊ธฐํโ ๋น๋๊ธฐํโ ๋ด๋ถ์ ์ผ๋ก ๋๊ธฐํ๋จ (์ฑ๋ฅ ๋ฎ์)์ฑ๋ฅ๋น ๋ฆ (O(1) ํ๊ท )์ฝ๊ฐ ๋๋ฆผ (์์ ๊ด๋ฆฌ ๋น์ฉ)๋๋ฆผ (O(log N))๊ฐ์ฅ ๋๋ฆผ๋ ๊ฑฐ์ ์ฌ๋ถโ .. 2025. 5. 2. [java] Set-HashSet, LinkedHashSet, TreeSet Set์ ๋ฐฐ์ด์ ์ค๋ณต์ ๊ฑฐํ๊ณ ์ถ์ ๋ ์ฌ์ฉํ๋ค.Set์ ์ถ๊ฐํ๋ ค๋ฉด addํ๋ฉด ๋๋ค. ๊ตฌ๋ถ HashSet LinkedHashSetTreeSet์ค๋ณต ์ ๊ฑฐโ ๊ฐ๋ฅโ ๊ฐ๋ฅโ ๊ฐ๋ฅ์ ๋ ฌ ์์ ์ ์งโ ์์ ์์ (๋ฌด์์)โ ์ ๋ ฅํ ์์ ์ ์งโ ์ค๋ฆ์ฐจ์์๋O(1)๋ก ๋ณดํต ๋ ๋น ๋ฆO(1)๋ก ์ฝ๊ฐ ๋๋ฆผ (์์ ์ ์ง ์ค๋ฒํค๋)O(log N) (์ด์ง ํธ๋ฆฌ ๊ธฐ๋ฐ)์ฌ์ฉ ๋ชฉ์ ์์ ์๊ด์๋ ์ค๋ณต ์ ๊ฑฐ์ค๋ณต ์ ๊ฑฐ + ์ ๋ ฅ ์์ ์ ์ง ํ์ ์ ์ ๋ ฌ๋ ์งํฉ์ด ํ์ํ ๋ (์: ์์, ์ ๋ ฌ ์ถ๋ ฅ) ์ค๋ณต์ ๊ฑฐ (์์ํ์)์์:import java.util.*;String[] arr = {"apple", "banana", "apple", "orange", "banana"};Set set = new LinkedHashSet(Arrays.asLi.. 2025. 5. 2. [java] switch/case ๋ฌธ switch/case ๊ตฌ์กฐ๋ฌธ:switch(์ ๋ ฅ๋ณ์) { case ์ ๋ ฅ๊ฐ1: ... break; case ์ ๋ ฅ๊ฐ2: ... break; ... default: ... break;}if-else if-else๋ฌธ์ switch๋ฌธ์ผ๋ก ๋ฐ๊ฟ ์ ์๋ค.break๋ฅผ ์ฐ๋ฉด ํด๋น case๋ง ์คํํ๊ณ swich๋ฌธ์ ๋น ์ ธ๋๊ฐ๊ณ , ๋ง์ฝ break๋ฅผ ์ฐ์ง ์๋๋ค๋ฉด ์ฐธ์ธ ๊ฒ ์๋ case๋ค ๋ค ์คํ๋๋ค.default๋ฌธ์ ์๋ต๊ฐ๋ฅํ๊ณ ์ฌ์ฉํ ์ case๋ฌธ์ ์คํํ๊ณ ๋ง์ง๋ง์ผ๋ก ๋ฌด์กฐ๊ฑด ์คํ๋๋ค. Java์์ switch ๋ฌธ์์ break ๋ฌธ์ด ์์ ๋์ ์์ ๋์ ๋์ ์ฐจ์ดโ break๊ฐ ์์ ๋int num = 2;switch (num) { case 1: .. 2025. 5. 2. [java] ์ดํด๋ฆฝ์ค ๋จ์ถํค ๋ชจ์ Ctrl + D : ํ์ค์ญ์ Ctrl + Alt + ↑, ↓ : ํ์ค ์ ๋๋ ์๋๋ก ๋ณต๋ถ Alt + ↑, ↓ : ํ ์ด๋Ctrl + I : ์๋ ์ค ๋ง์ถคCtrl + / : ํ์ค ์ฃผ์ ์ฒ๋ฆฌCtrl + F11 : ์คํ(Run)Ctrl + Shift + O : ์๋ import(ํ์ํ ํจํค์ง ์ถ๊ฐ)F11 : ๋๋ฒ๊น Ctrl + Shift + B: ํ ๊ธ ๋ธ๋ ์ดํฌํฌ์ธํธ 2025. 5. 2. [java] ์ผํญ์ฐ์ฐ์ Java์์๋ if-else๋ฌธ์ ์ผํญ์ฐ์ฐ์๋ฅผ ํตํด ํ ์ค๋ก ์ฝ๋๋ฅผ ์์ฑํ ์ ์๋ค.๋จผ์ , ์ผํญ์ฐ์ฐ์์ ๊ตฌ์กฐ๋ ์๋์ ๊ฐ๋ค.์กฐ๊ฑด์ ? ์ฐธ์ผ๋๊ฐ : ๊ฑฐ์ง์ผ๋๊ฐ;์์:int number = 4;String result = (number % 2 == 0) ? "์ง์" : "ํ์";System.out.println(result); // ์ง์ Java์์๋ if-else if-else if-else์ ๊ฐ์ ๋ค์ค if๋ฌธ์ ์ค์ฒฉ์ผํญ์ฐ์ฐ์๋ฅผ ํตํด ํ ์ค๋ก ์ฝ๋๋ฅผ ์์ฑํ ์๋ ์๋ค.์ค์ฒฉ ์ผํญ ์ฐ์ฐ์ ๊ตฌ์กฐ:์กฐ๊ฑด1 ? ๋ฐํ๊ฐ1 : ์กฐ๊ฑด2 ? ๋ฐํ๊ฐ2 : ์กฐ๊ฑด3 ? ๋ฐํ๊ฐ3 : ๊ธฐ๋ณธ๊ฐ;์์:int score = 85;String grade = (score >= 90) ? "A" : (score >= .. 2025. 4. 9. [java] JVM ๋์ ๋ฐฉ์ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ ์ผ๋ฐ์ ์ผ๋ก ๋๋ถ๋ถ์ ์ปดํ์ผ๋ฌ๋ ์ปดํ์ผ๊ณผ์ ์ ํตํด ๊ธฐ๊ณ์ด๋ก ์์ฑ๋ ์คํ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ค. ํ์ง๋ง JAVA๋ ์ด์ ๋ฌ๋ฆฌ OS์ ๋ ๋ฆฝ์ ์ธ ํน์ง์ผ๋ก ์ธํด, ์ปดํ์ผ ๊ณผ์ ์์ ๊ธฐ๊ณ์ด๊ฐ ์๋ ๋ฐ์ดํธ ์ฝ๋๋ก ์์ฑ๋ .class ํ์ผ์ ์์ฑํ๋ค. ๊ทธ๋ ๋ค๋ฉด ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ๋ ์ญํ ์ ์๋ฐ์์ ๋๊ฐ ํ ๊น? ๊ทธ๊ฒ์ด ๋ฐ๋ก JVM(Java Virtual Machine)์ ์ญํ ์ด๋ค.JVM์ OS์ ํ๋ก๊ทธ๋จ ์ฌ์ด์์ ์ปดํ์ผ๊ณผ์ ์ ํตํด ์์ฑ๋ ๋ฐ์ดํธ์ฝ๋(.java -> .class)๋ฅผ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํด์ฃผ๋ ์ญํ ์ ํ๋ค. ์ด ์์ธํ ๊ณผ์ ์ ๋ํด ์์๋ณด์.JVM ๋์ ๋ฐฉ์๊ฐ๋ฐ์๊ฐ ์๋ฐ ์์ค์ฝ๋(.java)๋ฅผ ์์ฑํ๋ค.Build ๋ผ๋ ์์ ์ ํตํด ์๋ฐ ์ปดํ์ผ๋ฌ์ javac ๋ผ๋ ๋ช ๋ น์ด๋ก ๋ฐ์ดํธ์ฝ๋์ธ .class ํ์ผ์ ์์ฑํ๋ค.์ปดํ์ผ๋ ๋ฐ.. 2024. 12. 23. ์ด์ 1 2 3 ๋ค์