μ΄λ²ˆμ—μ•Ό 말둜 Java와 μΉœν•΄μ§€κ² μ–΄β€¦

1 minute read

νšŒμ‚¬μ—μ„œ Kafka κ΄€λ ¨ μž‘μ—…μ„ μ§‘μ€‘μ μœΌλ‘œ ν•˜κ²Œ λ˜λ©΄μ„œ, Javaλ₯Ό μ’€ ν¬κ΄„μ μœΌλ‘œ μ•Œμ•„μ•Ό κ² λ‹€λŠ” 생각이 λ“€μ–΄μ„œ λ‹€μ‹œ ν•œλ²ˆ Java와 μΉœν•΄μ§€κΈ°μ— λ„μ „ν•΄λ΄…λ‹ˆλ‹€!

interface에 λŒ€ν•΄

Javaμ—μ„œ ν΄λž˜μŠ€κ°€ κ΅¬ν˜„ν•΄μ•Ό ν•  λ©”μ„œλ“œλ₯Ό 미리 μ •μ˜ν•œ 것. μ‹€μ œ κ΅¬ν˜„μ€ κ΅¬ν˜„μ²΄(implements)μ—μ„œ μˆ˜ν–‰ν•œλ‹€.

interface λΌλ¦¬λŠ” 상속이 κ°€λŠ₯ν•˜λ‹€. κ·Έλž˜μ„œ extends둜 κΈ°μ‘΄ interface에 좔가적인 μŠ€μΌˆλ ˆν†€ ν•¨μˆ˜λ₯Ό μΆ”κ°€ν•˜λŠ” 것이 κ°€λŠ₯ν•˜λ‹€.

implements 닀쀑 상속이 λ˜μ§€λ§Œ, extendsλŠ” 단일 μƒμ†λ§Œ λœλ‹€.

μ½”λ“œλ₯Ό 보닀보면, extends도 ν•˜λ©΄μ„œ implements도 ν•˜λŠ” 것듀이 μžˆλŠ”λ° λ‹Ήν™©ν•˜μ§€ λ§μžβ€¦;;

class Animal {
    void eat() {
        System.out.println("λ¨ΉλŠ”λ‹€");
    }
}

interface Pet {
    void play();
}

interface Trainable {
    void train();
}

class Dog extends Animal implements Pet, Trainable {
    public void play() {
        System.out.println("λ†€μ•„μš”");
    }

    public void train() {
        System.out.println("ν›ˆλ ¨ν•΄μš”");
    }
}

Java 8 & 11

https://youtu.be/_6YP2FNTt80?si=9emCKpoN38FyStuj

  • Java 8
    • forEach()λ₯Ό 지원.
    • λžŒλ‹€ ν‘œν˜„μ‹μ„ 지원
    • .stream()으둜 병렬 처리 지원
    • interfaceμ—μ„œ default λ©”μ„œλ“œ 지원
    • Optional νƒ€μž… 지원
      • null-safe μ½”λ“œλ₯Ό 짜기 μœ„ν•œ κΈ°μ΄ˆκ°€ 됨
  • Java 11
    • Stringμ—μ„œ 좔가적인 λ‚΄μž₯ λ©”μ„œλ“œ μΆ”κ°€
      • .isBlank(), .repeat()
    • λžŒλ‹€ ν‘œν˜„μ‹ λ‚΄λΆ€μ—μ„œλ„ var ν‚€μ›Œλ“œ μ‚¬μš© κ°€λŠ₯
    • λ‚΄μž₯ HttpClientλ₯Ό 지원

Categories:

Updated: