Interface?

  • ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ๊ฐœ์˜ ์‹œ์Šคํ…œ, ์žฅ์น˜ ์‚ฌ์ด์—์„œ ์ •๋ณด๋‚˜ ์‹ ํ˜ธ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๊ฒฝ์šฐ์˜ ์ ‘์ ์ด๋‚˜ ๊ฒฝ๊ณ„๋ฉด
  • ๋‹ค๋ฅธ ๊ธฐ๊ธฐ๋‚˜ ์‹œ์Šคํ…œ, ์†Œํ”„ํŠธ์›จ์–ด ๊ฐ„์— ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ๋•Œ, ๊ทธ ์‚ฌ์ด๋ฅผ ์ž‡๋Š” ๊ทœ๊ฒฉ์ด๋‚˜ ๊ธฐ๋Šฅ
  • ๋…๋ฆฝ๋˜์–ด ์žˆ๋Š” ๋‘ ๊ฐœ์˜ ์‹œ์Šคํ…œ์ด๋‚˜ ์žฅ์น˜ ๊ฐ„์— ์ƒํ˜ธ ์ž‘์šฉ ๋ฐฉ์‹

์ด๋ ‡๊ฒŒ ์„ค๋ช…ํ•˜๋ฉด ํ•˜๋‚˜๋„ ์ดํ•ด๊ฐ€ ์•ˆ๋ ๊ฒƒ์ด๋‹ค.
์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์ธํ„ฐํŽ˜์ด์Šค๋ž€ ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์ง€๋งŒ ์•ฝ์†ํ•ด ๋‘” ๊ณ„์•ฝ์„œ๋‹ค.

๊ทธ๋Ÿผ ์ด๊ฒŒ ์™œ ํ•„์š”ํ•œ๊ฑธ๊นŒ?

Interface ์—†๋Š” ๊ฒฝ์šฐ


class Dog {
    void sound() {
        System.out.println("๋ฉ๋ฉ");
    }
}

class Main {
    public static void main(String[] args) {
        Dog dog = new Dog();
        dog.sound();
    }
}

์•„์ง๊นŒ์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์–ด ๋ณด์ผ๊ฑฐ๋‹ค. ๊ทธ๊ฒŒ ๋งž๋Š”๊ฑฐ๊ณ 
ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ ๊ณ ์–‘์ด ์šธ์Œ์†Œ๋ฆฌ๋ฅผ ์ถ”๊ฐ€ํ•ด๋‹ฌ๋ผ๋Š” ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด

class Cat {
    void sound() {
        System.out.println("์•ผ์˜น"); // ์ˆ˜์ •
    }
}

class Main {
    public static void main(String[] args) {
        Cat cat = new Cat();  // ์ˆ˜์ •
        cat.sound();
    }
}

์ด๋Ÿฐ์‹์œผ๋กœ ๋™๋ฌผ๋“ค์ด ๋ฐ”๋€”๋•Œ๋งˆ๋‹ค Main ์ฝ”๋“œ๋ฅผ ๊ณ„์† ์ˆ˜์ •ํ•ด์•ผํ•œ๋‹ค.
์ด๊ฑธ ๊ฒฐํ•ฉ๋„ ๋†’์€ ์ƒํƒœ๋ผ๊ณ  ํ•œ๋‹ค


Interface ์žˆ๋Š” ๊ฒฝ์šฐ


Interface๋Š” ์•„๊นŒ ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์ง€๋งŒ ์•ฝ์†ํ•ด ๋‘” ๊ณ„์•ฝ์„œ๋ผ๊ณ  ํ–ˆ๋‹ค.
์ฆ‰, ๊ณ„์•ฝ์„œ๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด๋ณด์ž

interface Animal {
    void sound();
}

์ด๋ ‡๊ฒŒ ๋˜๋ฉด ์šฐ๋ฆฌ๊ฐ€ ์•„๊นŒ ๋งŒ๋“  Dog์™€ Cat์€ ์ด ๊ณ„์•ฝ์„œ๋ฅผ ๋”ฐ๋ฅผ ๊ฒƒ์ด๋‹ค.

class Dog implements Animal {
    public void sound() {
        System.out.println("๋ฉ๋ฉ");
    }
}

class Cat implements Animal {
    public void sound() {
        System.out.println("์•ผ์˜น");
    }
}

๋‚จ์€ Main์€

class Main {
    public static void main(String[] args) {
        Animal animal = new Dog();
        animal.sound();
    }
}

์ด๋ ‡๊ฒŒ ๋ ๊ฑฐ๋‹ค.

์ด์ œ Main์€ ๋ฌด์Šจ ๋™๋ฌผ์ธ์ง€ ์ƒ๊ด€์—†์ด sound์— ๊ด€๋ จ๋˜๋ฉด Animal animal = new Dog(); ์ด ํ•œ์ค„๋งŒ ์ˆ˜์ •ํ•˜๋ฉด ๋ ๊ฒƒ์ด๋‹ค.

๊ทผ๋ฐ ์šฐ๋ฆฌ๋Š” Interface๊ฐ€ ์žˆ๋˜ ์—†๋˜ ๊ฒฐ๊ตญ ํ•œ์ค„์€ ์ˆ˜์ •ํ•ด์•ผํ•˜๋Š”๊ฑฐ ์•„๋‹Œ๊ฐ€๋ผ๋Š” ์˜๋ฌธ์ด ๋“ค์ˆ˜๋„ ์žˆ๋‹ค. ๋งž๋Š” ๋ง์ด๋‹ค.
ํ•˜์ง€๋งŒ Interface๊ฐ€ ์—†์„ ๋•Œ๋Š” ๋‹จ์ˆœํ•œ ํ•œ ์ค„์ด ์•„๋‹ˆ๋ผ ๋ณ€์ˆ˜ ํƒ€์ž…, ๊ฐ์ฒด ํƒ€์ž…๋“ฑ ์ฝ”๋“œ์˜ ๋ชจ๋“  Dog(์šฐ๋ฆฌ๊ฐ€ ๋ฐ”๊ฟ€ ๋‚ด์šฉ)์— ๋Œ€ํ•œ ๋ถ€๋ถ„์„ ๋‹ค ์ฐพ์•„ ์ˆ˜์ •ํ•ด์•ผํ•œ๋‹ค.

์ด๊ฑธ ์•„๊นŒ ๋งํ•œ ๊ฒฐํ•ฉ๋„๊ฐ€ ๋†’์€ ์ƒํƒœ(Main์ด Dog๋ผ๋Š” ํด๋ž˜์Šค์— ๋ฌถ์—ฌ์žˆ๋Š” ์ƒํƒœ)๋ผ๊ณ  ํ•œ๋‹ค.

Interface๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ๋Š” Animal animal = new Cat();์ด๋Ÿฐ ์‹์œผ๋กœ ๋ฐ”๋€Œ๋Š” ๊ฑด ์˜ค์ง ๊ฐ์ฒด ์ƒ์„ฑ ๋ถ€๋ถ„ ๋ฟ์ด๋‹ค. Main์€ Dog๊ฐ€ ๋ญ”์ง€ ๋ชจ๋ฅผ๊ฑฐ๋‹ค. Main์€ Animal์ด๋ผ๋Š” ์—ญํ• ๋งŒ ์•Œ ๋ฟ..
์ฆ‰ Interface๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋Š” ์ฝ”๋“œ๊ฐ€ ์—ญํ• ์—๋งŒ ๋ฌถ์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.



Interface๋Š” ์—ฐ๊ฒฐ ๋Œ€์ƒ์— ๋”ฐ๋ผ 3๊ฐ€์ง€๋กœ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค.
๋‹ค์Œ์€ ์ด์— ๋Œ€ํ•˜์—ฌ ์•Œ์•„๋ณด์ž

ํ•˜๋“œ์›จ์–ด Interface

์ •์˜

  • ์ปดํ“จํ„ฐ์™€ ์ฃผ๋ณ€๊ธฐ๊ธฐ ๋“ฑ ํ•˜๋“œ์›จ์–ด๋ผ๋ฆฌ ์ ‘์†ํ• ๋•Œ์˜ ์ ‘์ 
  • ์„œ๋กœ ๋‹ค๋ฅธ ๋ฌผ๋ฆฌ์ ์ธ ์žฅ์น˜๋“ค ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ
  • ์žฅ์น˜(๋ถ€ํ’ˆ)๋ผ๋ฆฌ ์—ฐ๊ฒฐํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๊ธฐ ์œ„ํ•œ ์•ฝ์†

์˜ˆ์‹œ

๋ชจ๋‹ˆํ„ฐ์™€ ๋ณธ์ฒด๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” HDMI
๋ฌด์„  ํ†ต์‹  ๊ทœ๊ฒฉ Wi-Fi, Bluetooth
CPU์™€ RAM ์‚ฌ์ด์˜ ๋ฒ„์Šค
USB
๋“ฑ ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ํ•˜๋“œ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์กด์žฌํ•œ๋‹ค.

์„ค๋ช…

์•„๊นŒ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์•ฝ์†ํ•ด๋‘” ํ•˜๋‚˜์˜ ๊ณ„์•ฝ์„œ๋ผ๊ณ  ํ–ˆ๋Š”๋ฐ ์ด๊ฑฐ๋ž‘ ๋ฌด์Šจ ์—ฐ๊ด€์ด ์žˆ๋ƒ? ์ด๋Ÿฐ ์˜๋ฌธ์ด ๋“ค์ˆ˜๋„ ์žˆ๋‹ค.
ํ•œ๋ฒˆ ์ƒ๊ฐํ•ด๋ณด์ž. ๋งŒ์•ฝ ์‚ผ์„ฑ ๋งˆ์šฐ์Šค๋Š” ์‚ผ์„ฑ ์ „์šฉ ๊ตฌ๋ฉ, LG๋Š” LG ์ „์šฉ ๊ตฌ๋ฉ ๋“ฑ๋“ฑ ๊ฐ ํšŒ์‚ฌ๋งˆ๋‹ค ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ตฌ๋ฉ์ด ์กด์žฌํ•œ๋‹ค ๊ฐ€์ •ํ•˜๋ฉด ์ปดํ“จํ„ฐ์—๋Š” ์ ์–ด๋„ 20๊ฐœ ์ด์ƒ์˜ ๊ตฌ๋ฉ์ด ํ•„์š”ํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ์„ธ์ƒ๋งํ•œ๋‹ค ์ด๋Ÿฌ๋ฉด..
๊ทธ๋ž˜์„œ ๋‹ค USB๋กœ ํ†ต์ผํ•˜์ž!
์ด๊ฒŒ ๋ฐ”๋กœ ์ธํ„ฐํŽ˜์ด์Šค๋‹ค.

์ฆ‰ ํ•˜๋“œ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๊ธฐ๊ณ„(ํ•˜๋“œ์›จ์–ด)๋ผ๋ฆฌ ๋Œ€ํ™”ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ณตํ†ต ์–ธ์–ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

์†Œํ”„ํŠธ์›จ์–ด Interface

์ •์˜

  • ์ปดํ“จํ„ฐ๋ฅผ ์ž‘๋™์‹œํ‚ค๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ํ”„๋กœ๊ทธ๋žจ ๊ฐ„์˜ ํ†ต์‹  ๋ฐฉ๋ฒ•
  • ์†Œํ”„ํŠธ์›จ์–ด ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ
  • ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ”„๋กœ๊ทธ๋žจ๊ฐ„์˜ ์•ฝ์†

์˜ˆ์‹œ

์ œ์ผ ์‰ฌ์šด ์˜ˆ๋กœ๋Š” API๊ฐ€ ์žˆ๋‹ค. (API์— ๋Œ€ํ•ด์„œ๋Š” ์ถ”ํ›„ ๋” ์ž์„ธํžˆ ์„ค๋ช…์„ ํ•˜๊ฒ ๋‹ค..) ์ด์™ธ์—๋„ ์šด์˜์ฒด์ œ(OS)์™€ ํ•˜๋“œ์›จ์–ด๋“ค ์‚ฌ์ด์˜ ์ธํ„ฐํŽ˜์ด์Šค, ์šด์˜์ฒด์ œ์™€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค ๋“ฑ์ด ์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค์— ์†ํ•œ๋‹ค.

์„ค๋ช…

์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค ๋˜ํ•œ ํ•˜๋‚˜์˜ ์•ฝ์†๋œ ๊ฒŒ์•ฝ์„œ๋‹ค.
์šฐ๋ฆฌ๋Š” ์–ด๋–ค ์›น์—์„œ ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ๋กœ๊ทธ์ธ์ด ๋˜๋Š”๊ฒŒ ๋‹น์—ฐํ•˜๋‹ค ์ƒ๊ฐํ• ๊ฑฐ๋‹ค. ํ•˜์ง€๋งŒ ์ด๊ฒŒ ๋กœ๊ทธ์ธ API๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ด๋‹ค. ์ด๊ฒŒ ๋ฐ”๋กœ ์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค๋‹ค.
์ด๊ฒŒ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž,,์›น ๋งˆ๋‹ค ์„œ๋ฒ„ ๋‚ด๋ถ€ ๊ตฌ์กฐ๋„ ์‹น ๋‹ค ์•Œ์•„์•ผ ํ•˜๊ณ , ์„œ๋ฒ„ ๊ตฌ์กฐ๊ฐ€ ๋ณ€๊ฒฝ์ด๋ผ๋„ ๋œ๋‹ค? ์ „๋ถ€ ์ˆ˜์ •ํ•ด์•ผํ•œ๋‹ค. ๋ฒŒ์จ ์–ด์ง€๋Ÿฝ์ง€ ์•Š์€๊ฐ€โ€ฆ
์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋‚ด๋ถ€ ๊ตฌ์กฐ ๋ชฐ๋ผ๋„, ์•ฝ์†๋œ ํ˜•์‹๋งŒ ์•Œ๋ฉด๋œ๋‹ค.

์ฆ‰ ํ”„๋กœ๊ทธ๋žจ๋ผ๋ฆฌ ๋Œ€ํ™”ํ•˜๋Š” ๊ณตํ†ต ๊ทœ์น™์ด๋‹ค.

์‚ฌ์šฉ์ž Interface (UI)

์ •์˜

  • ์‚ฌ์šฉ์ž์™€ ๊ธฐ๊ณ„ ์‚ฌ์ด์—์„œ ์ƒํ˜ธ์ž‘์šฉ๊ณผ ์ •๋ณด ๊ตํ™˜

์ธ๊ฐ„์ด ์ปดํ“จํ„ฐ๋‚˜ ๋‹ค๋ฅธ ๊ธฐ๊ธฐ๋ฅผ ์‚ฌ์šฉ ์‹œ์— ์ž…๋ ฅ ์žฅ์น˜๋‚˜ ๊ธฐ๊ธฐ, ์กฐ์ž‘ ๋ฐฉ๋ฒ•์ด๋‚˜ ํ‘œ์‹œ ๋ฐฉ๋ฒ• ๋“ฑ์„ ๋„๋ฆฌ ๊ฐ€๋ฆฌํ‚ค๋Š” ์šฉ์–ด์ด๋‹ค.

์˜ˆ์‹œ

  • CLI
    • Command ์ฐฝ์— ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์„œ ์ปดํ“จํ„ฐ์˜ ๋™์ž‘์„ ์ œ์–ดํ•˜๋Š” ๋ฐฉ์‹
  • GUI
    • ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ๋ณด๋Š” ํ™”๋ฉด ๊ธฐ๋ฐ˜ UI (๋ฒ„ํŠผ, ์•„์ด์ฝ˜ ๋“ฑ)

์„ค๋ช…

์ฆ‰ ๊ธฐ๋Šฅ์„ ์‚ฌ๋žŒ์ด ์‚ฌ์šฉ๊ฐ€๋Šฅ ํ•˜๊ฒŒ ํ•˜๋Š” ์žฅ์น˜๋ฅผ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ผ ํ•œ๋‹ค.



์ง€๊ธˆ๊นŒ์ง€ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ฝ”๋“œ ์˜ˆ์‹œ์™€ ํ•จ๊ป˜ ์‚ดํŽด๋ณด์•˜๋‹ค.

๊ฒฐ๊ตญ ์ธํ„ฐํŽ˜์ด์Šค๋ผ๋Š” ๋‹จ์–ด๋Š” ์–ด๋””์— ์“ฐ์ด๋А๋ƒ์— ๋”ฐ๋ผ ๋ชจ์–‘์€ ๋‹ฌ๋ผ์ง€์ง€๋งŒ ๋ณธ์งˆ์€ ๊ฐ™๋‹ค.

ํ•˜๋“œ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค โ†’ ๊ธฐ๊ณ„ โ†” ๊ธฐ๊ณ„
์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐํŽ˜์ด์Šค โ†’ ํ”„๋กœ๊ทธ๋žจ โ†” ํ”„๋กœ๊ทธ๋žจ
์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค โ†’ ์‚ฌ๋žŒ โ†” ์‹œ์Šคํ…œ

์„œ๋กœ ํ˜•ํƒœ๋Š” ๋‹ค๋ฅด์ง€๋งŒ ๊ณตํ†ต์ ์€ ํ•˜๋‚˜๋‹ค.


์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ๋Œ€์ƒ์ด ์•ˆ์ „ํ•˜๊ฒŒ ์†Œํ†ตํ•˜๊ธฐ ์œ„ํ•œ ์•ฝ์†

๊ฒฐ๊ตญ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์—ฐ๊ฒฐ์„ ์œ„ํ•œ ๊ตฌ์กฐ์ด์ž ๋ณ€ํ™”๋ฅผ ๋Œ€๋น„ํ•œ ์„ค๊ณ„๋‹ค.

ํƒœ๊ทธ:

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ: