Amenable
Amenable's Blog
Amenable
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (189)
    • ๐Ÿ“‚ JAVA (87)
      • ์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” (65)
      • ์ฃผ์š” ๊ฐœ๋… (22)
    • ๐Ÿ“‚ ๊ฐœ๋ฐœ ์„œ์  (22)
      • ์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ (1)
      • ๊ฐ์ฒด์ง€ํ–ฅ์˜ ์‚ฌ์‹ค๊ณผ ์˜คํ•ด (2)
      • ํด๋ฆฐ ์ฝ”๋“œ (8)
      • ํ•จ๊ป˜ ์ž๋ผ๊ธฐ (1)
      • ๊ทธ๋ฆผ์œผ๋กœ ๋ฐฐ์šฐ๋Š” HTTP&Network Basic (10)
    • ๐Ÿ“‚ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค (8)
      • ๊ฐœ๋… (8)
      • ๋ฌธ์ œํ’€์ด (0)
    • ๐Ÿ“‚ ๋„คํŠธ์›Œํฌ (14)
      • ๊ฐœ๋… (6)
      • ์„ฑ๊ณต๊ณผ ์‹คํŒจ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” 1%์˜ ๋„คํŠธ์›Œํฌ ์›๋ฆฌ (8)
    • ๐Ÿ“‚ ์Šคํ”„๋ง (13)
      • ๊ธฐ๋ณธ ๊ฐœ๋… (13)
    • ๐Ÿ“‚ WEB (5)
    • ๐Ÿ“‚ ์ž๋ฃŒ๊ตฌ์กฐ (12)
      • ๊ฐœ๋… (2)
      • ์ •๋ ฌ (8)
      • ํŠธ๋ฆฌ (2)
    • ๐Ÿ“‚ ์•Œ๊ณ ๋ฆฌ์ฆ˜ (10)
      • ์ตœ์†Œ์‹ ์žฅํŠธ๋ฆฌ (2)
      • ์ตœ๋‹จ ๊ฒฝ๋กœ (2)
      • ๋ฌธ์ž์—ด (2)
      • ETC (4)
    • ๐Ÿ“‚ ์•Œ๊ณ ๋ฆฌ์ฆ˜_๋ฌธ์ œํ’€์ด (4)
      • BOJ_๋ฐฑ์ค€ (4)
    • ๐Ÿ“‚ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (3)
    • ๐Ÿ“‚ DevOps (2)
      • ๋ฐฐํฌ (2)
    • ๐Ÿ“‚ ํ›„๊ธฐ (8)
      • ์šฐ์•„ํ•œ ํ…Œํฌ์ฝ”์Šค(ํ”„๋ฆฌ์ฝ”์Šค) (4)
      • 2023๋…„ (3)
      • 2024๋…„ (1)
    • ๐Ÿ“‚ ํšŒ๊ณ  (1)
      • 2023๋…„ (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿš€ GitHub

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
Amenable

Amenable's Blog

๋กœ ํƒ€์ž…์€ ์‚ฌ์šฉํ•˜์ง€ ๋ง๋ผ - [5์žฅ. ์ œ๋„ค๋ฆญ(์•„์ดํ…œ26)]
๐Ÿ“‚ JAVA/์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ”

๋กœ ํƒ€์ž…์€ ์‚ฌ์šฉํ•˜์ง€ ๋ง๋ผ - [5์žฅ. ์ œ๋„ค๋ฆญ(์•„์ดํ…œ26)]

2023. 5. 23. 00:14

  ์ด๋ฒˆ ์žฅ(5์žฅ)๋ถ€ํ„ฐ๋Š” ์ œ๋„ค๋ฆญ์„ ๋‹ค๋ฃฌ๋‹ค. ํ˜น์‹œ๋‚˜ ์ œ๋„ค๋ฆญ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ๊ฐœ๋…์ด ํ•„์š”ํ•˜๋‹ค๋ฉด ์ด์ „ ๊ธ€์„ ๋จผ์ € ๋ณด๊ณ  ์˜ค๋„๋ก ํ•˜์ž.

 

1. ๋กœ ํƒ€์ž… (Raw Type) ๊ฐœ๋… ๐Ÿ’ฝ

  ๋กœ ํƒ€์ž…์ด๋ž€ ์ œ๋„ค๋ฆญ ํƒ€์ž…์—์„œ ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ „ํ˜€ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๋•Œ๋ฅผ ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด List<E>์˜ ๋กœ ํƒ€์ž…์€ List๋‹ค.

 

2. ๋กœ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ ๋˜๋Š” ์ด์œ  ๐Ÿ’พ

  ์ œ๋„ค๋ฆญ์ด ์•ˆ๊ฒจ์ฃผ๋Š” ์•ˆ์ „์„ฑ๊ณผ ํ‘œํ˜„๋ ฅ์„ ๊ณ ๋ คํ•  ๋•Œ ๋กœ ํƒ€์ž…์€ ์ ˆ๋Œ€๋กœ ์จ์„œ๋Š” ์•ˆ ๋œ๋‹ค.

  ๋กœ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ(= ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ)์™€ ๋กœ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ฝ”๋“œ(= ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ)๋ฅผ ๋น„๊ตํ•ด ๋ณด์ž.

๐Ÿ“’ 1. ๋กœ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ

  ๊ธฐ๋ณธ์ ์ธ ๋™์ž‘์€ numbers์— ์ˆซ์ž๋ฅผ ๋„ฃ๊ณ  ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด ๋“ค์–ด๊ฐ„ ์ˆซ์ž๋ฅผ ํ™•์ธํ•˜๋ ค๊ณ  ํ•˜๋Š” ์ฝ”๋“œ๋‹ค. ์ˆซ์ž๊ฐ€ ๋“ค์–ด๊ฐ€์•ผ ํ•˜์ง€๋งŒ ๋ฌธ์ž์—ด์ด ๋“ค์–ด๊ฐ„ ๊ฒฝ์šฐ์— ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด์ž.

// ๋กœ ํƒ€์ž… ์‚ฌ์šฉ O (Generic ์‚ฌ์šฉ X)
public static void main(String[] args) {


    List numbers = new ArrayList();
    numbers.add(10);
    numbers.add("amenable");

    for (Object number : numbers) {
        System.out.println((Integer) number); // ClassCastException
    }
}

  ๋กœ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ž์—ด์ด ๋“ค์–ด๊ฐ€๋”๋ผ๋„ ์ปดํŒŒ์ผ์ด ๋œ๋‹ค. ํ•˜์ง€๋งŒ ๋Ÿฐํƒ€์ž„์— ๋ฌธ์ž์—ด์„ Integer๋กœ ๋ฐ”๊ฟ€ ๋•Œ ClassCastException์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค.

  ์˜ค๋ฅ˜๋Š” ๋Ÿฐํƒ€์ž„ ์ƒํ™ฉ์ด ์•„๋‹Œ ์ปดํŒŒ์ผํ•  ๋•Œ ๋ฐœ๊ฒฌํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์€๋ฐ, ์œ„์˜ ๊ฒฝ์šฐ๋Š” ๊ทธ๊ฒƒ์„ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ๋‹ค.

๐Ÿ“’ 2. ๋กœ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

// ๋กœ ํƒ€์ž… ์‚ฌ์šฉ X (Generic ์‚ฌ์šฉ O)
public static void main(String[] args) {

    List<Integer> numbers = new ArrayList<>();
    numbers.add(10);
    numbers.add("amenable"); // Compile Error ๋ฐœ์ƒ

    for (Integer number : numbers) {
        System.out.println(numbers);
    }
}

  ๋กœ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์‚ดํŽด๋ณด์ž. ์ด ๊ฒฝ์šฐ์—๋Š” ์ปดํŒŒ์ผ ์—๋Ÿฌ๊ฐ€ ๋ฐ”๋กœ ๋ฐœ์ƒํ•œ๋‹ค. numbers์—๋Š” Integer๋งŒ ๋„ฃ์–ด์•ผ ํ•˜๋Š” ๊ฒƒ์„ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ธ์ง€ํ•˜๊ณ  ์žˆ๋Š”๋ฐ ๋ฌธ์ž์—ด(String)์„ ๋„ฃ์œผ๋ ค๊ณ  ํ•ด์„œ ์ปดํŒŒ์ผ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

  1. ์ฆ‰, ์ด๋ ‡๊ฒŒ ์ปดํŒŒ์ผ ์‹œ์ ์— ์˜ค๋ฅ˜๋ฅผ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์•ˆ์ „์„ฑ์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋‹ค.
  2. ๋˜ํ•œ, 'List<Integer> numbers'๋ผ๊ณ  ์„ ์–ธํ•œ๋‹ค๋ฉด numbers์— Integer ํƒ€์ž…๋งŒ ๋„ฃ์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐ”๋กœ ์•Œ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํ‘œํ˜„๋ ฅ ๋˜ํ•œ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ๋‹ค.

 

3. List VS List<Object> ๐Ÿ’ฟ

  List ๊ฐ™์€ ๋กœ ํƒ€์ž…์€ ์‚ฌ์šฉํ•ด์„œ๋Š” ์•ˆ ๋˜๋‚˜, List<Object>์ฒ˜๋Ÿผ ์ž„์˜ ๊ฐ์ฒด๋ฅผ ํ—ˆ์šฉํ•˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜ํ™” ํƒ€์ž…์€ ๊ดœ์ฐฎ๋‹ค.

  List๋Š” ์ œ๋„ค๋ฆญ ํƒ€์ž…์ด ์•„์˜ˆ ์•„๋‹ˆ๊ณ , List<Object>๋Š” Object๋ฅผ ํƒ€์ž… ๋งค๊ฐœ ๋ณ€์ˆ˜๋กœ ๊ฐ€์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ฆ‰, List<Object>๋Š” ๋ชจ๋“  ํƒ€์ž…์„ ํ—ˆ์šฉํ•œ๋‹ค๋Š” ์˜์‚ฌ๋ฅผ ์ปดํŒŒ์ผ๋Ÿฌ์— ๋ช…ํ™•ํžˆ ์ „๋‹ฌํ•œ๋‹ค.

  ๊ทธ๋ž˜์„œ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ List๋ฅผ ๋ฐ›๋Š” ๋ฉ”์„œ๋“œ์— List<String>์„ ๋„˜๊ธธ ์ˆ˜๋Š” ์žˆ์ง€๋งŒ, List<Object>๋ฅผ ๋ฐ›๋Š” ๋ฉ”์„œ๋“œ์—๋Š” ๋„˜๊ธธ ์ˆ˜ ์—†๋‹ค. List<String>์€ ๋กœ ํƒ€์ž…์ธ List์˜ ํ•˜์œ„ ํƒ€์ž…์ด์ง€๋งŒ, List<Object>์˜ ํ•˜์œ„ ํƒ€์ž…์€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

  List์™€ List<Object>๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋น„๊ตํ•ด ๋ณด๋ฉด ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

๐Ÿ“’ 1. List

public static void main(String[] args) {
    List<String> strings = new ArrayList<>();
    unsafeAdd(strings, Integer.valueOf(27));
    String s = strings.get(0); // ClassCastException
}

private static void unsafeAdd(List list, Object o) {
    list.add(o);
}

  ํ•ด๋‹น ์ฝ”๋“œ์—์„œ strings.get(0)์˜ ๊ฒฐ๊ณผ๋ฅผ ํ˜•๋ณ€ํ™˜ ํ•˜๋ ค๊ณ  ํ•  ๋•Œ ClassCastException์ด ๋ฐœ์ƒํ•œ๋‹ค. 

  ์ปดํŒŒ์ผํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ๋Ÿฐํƒ€์ž„์— ๋ฐœ์ƒํ•œ๋‹ค.

๐Ÿ“’ 2. List<Object>

public static void main(String[] args) {
    List<String> strings = new ArrayList<>();
    safeAdd(strings, Integer.valueOf(27)); // Compile Error
    String s = strings.get(0);
}

private static void safeAdd(List<Object> list, Object o) {
    list.add(o);
}

  ๋ฐ˜๋ฉด์— List<Object>๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Compile Error๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด์„œ ์ปดํŒŒ์ผ์กฐ์ฐจ ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

4. Set VS Set<?> ๐Ÿ“€

  ์œ„์—์„œ List<Object>๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์›์†Œ์˜ ํƒ€์ž…์„ ๋ชฐ๋ผ๋„ ๋˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‹ถ์„ ๊ฒƒ์ด๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ ๋กœ ํƒ€์ž…์ด ์•„๋‹Œ ๋น„ํ•œ์ •์  ์™€์ผ๋“œ์นด๋“œ ํƒ€์ž…(unbounded wildcard type)์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒŒ ์ข‹๋‹ค.

  ์ฆ‰, ์ œ๋„ค๋ฆญ ํƒ€์ž…์„ ์“ฐ๊ณ  ์‹ถ์ง€๋งŒ ์‹ค์ œ ํƒ€์ž… ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์‹ ๊ฒฝ ์“ฐ๊ณ  ์‹ถ์ง€ ์•Š๋‹ค๋ฉด ๋ฌผ์Œํ‘œ(?)๋ฅผ ์‚ฌ์šฉํ•˜์ž. ์ด๊ฒƒ์€ ์–ด๋–ค ํƒ€์ž…์ด๋ผ๋„ ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๋ฒ”์šฉ์ ์ธ ๋งค๊ฐœ๋ณ€์ˆ˜ํ™” ํƒ€์ž…์ด๋‹ค.

  ๊ทธ๋Ÿฌ๋ฉด Set<?> ๋Œ€์‹  Set๋„ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์•„๋„ ๋˜๋Š”๋ฐ ์™œ Set<?>์„ ๊ถŒ์žฅํ•˜๋Š” ๊ฒƒ์ผ๊นŒ? Set๊ณผ Set<?>๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋น„๊ตํ•ด ๋ณด์ž.

๐Ÿ“’ 1. Set

static int numElementsInCommon(Set s1, Set s2) {

    s1.add("4"); // UnsupportedOperationException

    int result = 0;
    for (Object o1 : s1) {
        if (s2.contains(o1)){
            result++;
        }
    }

    return result;
}

public static void main(String[] args) {

    System.out.println(Numbers.numElementsInCommon(Set.of(1, 2, 3), Set.of(1, 2)));
}

  ์œ„์˜ ์ฝ”๋“œ๋Š” Set์ธ s1๊ณผ s2์— ๊ณตํ†ต์ ์œผ๋กœ ์žˆ๋Š” ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ์นด์šดํŠธํ•˜๋ ค๊ณ  ํ•˜๊ณ  ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, ์ฝ”๋“œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ˆซ์ž๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฌธ์ž์—ด๋„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค. (s1.add("4"))

  ์ฝ”๋“œ์—์„œ s1.add("1")์„ ํ•˜๋ ค๊ณ  ํ•  ๋•Œ UnsupportedOperationException ๋ฐœ์ƒํ•œ๋‹ค. ์ปดํŒŒ์ผํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ๋Ÿฐํƒ€์ž„์— ๋ฐœ์ƒํ•œ๋‹ค.

  ์ฆ‰, ๋กœ ํƒ€์ž… ์ปฌ๋ ‰์…˜์— ์•„๋ฌด ์›์†Œ๋‚˜ ๋„ฃ์„ ์ˆ˜ ์žˆ์–ด์„œ ์•ˆ์ „ํ•˜์ง€ ์•Š์€ ์ƒํ™ฉ์ด๋‹ค.

๐Ÿ“’ 2. Set<?>

static int numElementsInCommon(Set<?> s1, Set<?> s2) {

    s1.add(4); // Compile Error

    int result = 0;
    for (Object o1 : s1) {
        if (s2.contains(o1)){
            result++;
        }
    }

    return result;
}

public static void main(String[] args) {

    System.out.println(Numbers.numElementsInCommon(Set.of(1, 2, 3), Set.of(1, 2)));
}

  ๋ฐ˜๋ฉด, Collection<?>์—๋Š” null ์™ธ์—๋Š” ์–ด๋–ค ์›์†Œ๋„ ๋„ฃ์„ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์•ˆ์ „ํ•˜๋‹ค. s1.add(4)๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ Compile Error๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

  ๊ทธ๋ž˜์„œ ๊ฒฐ๊ตญ ์•ˆ์ „์„ฑ์„ ๊ณ ๋ คํ•˜์˜€์„ ๋•Œ Set์ด ์•„๋‹Œ Set<?>์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

 

5. ์˜ˆ์™ธ ๐Ÿ“ผ

  ๊ณ„์†ํ•ด์„œ ๋กœ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜์ง€ ๋ง๋ผ๊ณ  ๋งํ•ด์™”๋‹ค. ํ•˜์ง€๋งŒ ์—ญ์‹œ ๋กœ ํƒ€์ž…์„ ์“ฐ์ง€ ๋ง๋ผ๋Š” ๊ทœ์น™์—๋„ 2๊ฐ€์ง€ ์˜ˆ์™ธ๊ฐ€ ์กด์žฌํ•œ๋‹ค.

๐Ÿ“’ 1. class ๋ฆฌํ„ฐ๋Ÿด

  class ๋ฆฌํ„ฐ๋Ÿด์—๋Š” ๋กœ ํƒ€์ž…์„ ์จ์•ผ ํ•œ๋‹ค.

  ์ž๋ฐ” ๋ช…์„ธ๋Š” class ๋ฆฌํ„ฐ๋Ÿด์— ๋งค๊ฐœ๋ณ€์ˆ˜ํ™” ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ–ˆ๋‹ค. (๋ฐฐ์—ด๊ณผ ๊ธฐ๋ณธ ํƒ€์ž…์€ ํ—ˆ์šฉํ•œ๋‹ค.)

public class UserRawType<E> {

    private E e;
}

----------

public static void main(String[] args) {

    // ํ˜€์šฉ X
    System.out.println(UserRawType<Integer>.class);

    // ํ—ˆ์šฉ O
    System.out.println(UserRawType.class);
}

  ์ฆ‰, List.class, String[].class, int.class๋Š” ํ—ˆ์šฉํ•˜๊ณ  List<String>.class์™€ List<?>.class๋Š” ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.

๐Ÿ“’ 2. instanceof ์—ฐ์‚ฐ์ž

public class UserRawType<E> {

    private E e;
}

----------

public static void main(String[] args) {

    UserRawType<String> stringType = new UserRawType<>();

    // ํ—ˆ์šฉ O
    System.out.println(stringType instanceof UserRawType<String>);
    // ํ—ˆ์šฉ O
    System.out.println(stringType instanceof UserRawType);
}

  ์œ„์˜ ์ฝ”๋“œ์ฒ˜๋Ÿผ instanceof์— ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹๊ณผ ๋กœ ํƒ€์ž…์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹ ๋‘˜ ๋‹ค ์‚ฌ์šฉํ•  ์ˆ˜๋Š” ์žˆ๋‹ค. ๋Ÿฐํƒ€์ž„์—๋Š” ์ œ๋„ค๋ฆญ ํƒ€์ž… ์ •๋ณด๊ฐ€ ์ง€์›Œ์ง€๋ฏ€๋กœ ๋‘ ๊ฐœ ๋ชจ๋‘ ์™„์ „ํžˆ ๋˜‘๊ฐ™์ด ๋™์ž‘ํ•œ๋‹ค.

  ๊ทธ๋Ÿฌ๋ฏ€๋กœ ์ œ๋„ค๋ฆญ์ด ์•„๋ฌด๋Ÿฐ ์—ญํ•  ์—†์ด ์ฝ”๋“œ๋งŒ ์ง€์ €๋ถ„ํ•˜๊ฒŒ ๋งŒ๋“ค๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ์ฐจ๋ผ๋ฆฌ ๋กœ ํƒ€์ž…์„ ์“ฐ๋Š” ํŽธ์ด ๊น”๋”ํ•˜๋‹ค.

 

ํ•ด๋‹น ๊ธ€์€ ๋ฐฑ๊ธฐ์„  ๋‹˜์˜ '์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ” ์™„๋ฒฝ ๊ณต๋žต'์„ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

'๐Ÿ“‚ JAVA > ์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ”' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋ฐฐ์—ด๋ณด๋‹ค๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ผ - [5์žฅ. ์ œ๋„ค๋ฆญ(์•„์ดํ…œ28)]  (0) 2023.05.30
๋น„๊ฒ€์‚ฌ ๊ฒฝ๊ณ ๋ฅผ ์ œ๊ฑฐํ•˜๋ผ - [5์žฅ. ์ œ๋„ค๋ฆญ(์•„์ดํ…œ27)]  (0) 2023.05.23
ํ†ฑ๋ ˆ๋ฒจ ํด๋ž˜์Šค๋Š” ํ•œ ํŒŒ์ผ์— ํ•˜๋‚˜๋งŒ ๋‹ด์œผ๋ผ - [4์žฅ. ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค(์•„์ดํ…œ25)]  (0) 2023.05.08
๋ฉค๋ฒ„ ํด๋ž˜์Šค๋Š” ๋˜๋„๋ก static์œผ๋กœ ๋งŒ๋“ค๋ผ - [4์žฅ. ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค(์•„์ดํ…œ24)]  (1) 2023.05.08
ํƒœ๊ทธ ๋‹ฌ๋ฆฐ ํด๋ž˜์Šค๋ณด๋‹ค๋Š” ํด๋ž˜์Šค ๊ณ„์ธต๊ตฌ์กฐ๋ฅผ ํ™œ์šฉํ•˜๋ผ - [4์žฅ. ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค(์•„์ดํ…œ23)]  (1) 2023.05.08
    '๐Ÿ“‚ JAVA/์ดํŽ™ํ‹ฐ๋ธŒ ์ž๋ฐ”' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • ๋ฐฐ์—ด๋ณด๋‹ค๋Š” ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ผ - [5์žฅ. ์ œ๋„ค๋ฆญ(์•„์ดํ…œ28)]
    • ๋น„๊ฒ€์‚ฌ ๊ฒฝ๊ณ ๋ฅผ ์ œ๊ฑฐํ•˜๋ผ - [5์žฅ. ์ œ๋„ค๋ฆญ(์•„์ดํ…œ27)]
    • ํ†ฑ๋ ˆ๋ฒจ ํด๋ž˜์Šค๋Š” ํ•œ ํŒŒ์ผ์— ํ•˜๋‚˜๋งŒ ๋‹ด์œผ๋ผ - [4์žฅ. ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค(์•„์ดํ…œ25)]
    • ๋ฉค๋ฒ„ ํด๋ž˜์Šค๋Š” ๋˜๋„๋ก static์œผ๋กœ ๋งŒ๋“ค๋ผ - [4์žฅ. ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค(์•„์ดํ…œ24)]
    Amenable
    Amenable
    CS, ์ž๋ฐ”, ์ž๋ฃŒ๊ตฌ์กฐ, ์•Œ๊ณ ๋ฆฌ์ฆ˜, ์Šคํ”„๋ง, ์Šคํ”„๋ง ๋ถ€ํŠธ์— ํ•ด๋‹นํ•˜๋Š” ๊ฐœ๋ฐœ์— ๊ด€ํ•œ ๋‚ด์šฉ์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”