๐ Interface๋?
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 (๋ฒํผ, ์์ด์ฝ ๋ฑ)
์ค๋ช
์ฆ ๊ธฐ๋ฅ์ ์ฌ๋์ด ์ฌ์ฉ๊ฐ๋ฅ ํ๊ฒ ํ๋ ์ฅ์น๋ฅผ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ผ ํ๋ค.
์ง๊ธ๊น์ง ์ธํฐํ์ด์ค๋ฅผ ์ฝ๋ ์์์ ํจ๊ป ์ดํด๋ณด์๋ค.
๊ฒฐ๊ตญ ์ธํฐํ์ด์ค๋ผ๋ ๋จ์ด๋ ์ด๋์ ์ฐ์ด๋๋์ ๋ฐ๋ผ ๋ชจ์์ ๋ฌ๋ผ์ง์ง๋ง ๋ณธ์ง์ ๊ฐ๋ค.
ํ๋์จ์ด ์ธํฐํ์ด์ค โ ๊ธฐ๊ณ โ ๊ธฐ๊ณ
์ํํธ์จ์ด ์ธํฐํ์ด์ค โ ํ๋ก๊ทธ๋จ โ ํ๋ก๊ทธ๋จ
์ฌ์ฉ์ ์ธํฐํ์ด์ค โ ์ฌ๋ โ ์์คํ
์๋ก ํํ๋ ๋ค๋ฅด์ง๋ง ๊ณตํต์ ์ ํ๋๋ค.
์๋ก ๋ค๋ฅธ ๋ ๋์์ด ์์ ํ๊ฒ ์ํตํ๊ธฐ ์ํ ์ฝ์
๊ฒฐ๊ตญ ์ธํฐํ์ด์ค๋ ์ฐ๊ฒฐ์ ์ํ ๊ตฌ์กฐ์ด์ ๋ณํ๋ฅผ ๋๋นํ ์ค๊ณ๋ค.