์ด๋ฒˆ์—์•ผ ๋ง๋กœ 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: