java oop : interface
This commit is contained in:
19
JavaOOP/src/Java23.java
Normal file
19
JavaOOP/src/Java23.java
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
import poly.Animal;
|
||||||
|
import poly.Cat;
|
||||||
|
import poly.Dog;
|
||||||
|
|
||||||
|
public class Java23 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
// 추상클래스
|
||||||
|
// Animal animal = new Animal; (X)
|
||||||
|
// upcasting 으로 활용
|
||||||
|
Animal cat = new Cat();
|
||||||
|
Animal dog = new Dog();
|
||||||
|
|
||||||
|
cat.eat();
|
||||||
|
cat.move();
|
||||||
|
|
||||||
|
dog.eat();
|
||||||
|
dog.move();
|
||||||
|
}
|
||||||
|
}
|
||||||
20
JavaOOP/src/Java24.java
Normal file
20
JavaOOP/src/Java24.java
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
import poly.Radio;
|
||||||
|
import poly.RemoCon;
|
||||||
|
import poly.TV;
|
||||||
|
|
||||||
|
public class Java24 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
// 인터페이스
|
||||||
|
// 객체 생성 X : RemoCon r = new RemoCon(); (X)
|
||||||
|
|
||||||
|
RemoCon r = new TV();
|
||||||
|
r.chUp();
|
||||||
|
r.chDown();
|
||||||
|
r.internet();
|
||||||
|
|
||||||
|
r = new Radio();
|
||||||
|
r.chUp();
|
||||||
|
r.chDown();
|
||||||
|
r.internet();
|
||||||
|
}
|
||||||
|
}
|
||||||
11
JavaOOP/src/poly/Animal.java
Normal file
11
JavaOOP/src/poly/Animal.java
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
package poly;
|
||||||
|
|
||||||
|
// 추상 클래스 -> 불완전 클래스 : 객체 생성 불가 new Animal() (X)
|
||||||
|
public abstract class Animal {
|
||||||
|
|
||||||
|
public abstract void eat(); // 추상 메소드 -> 불완전 메소드
|
||||||
|
|
||||||
|
public void move() { // 일반 메소드도 작성 가능
|
||||||
|
System.out.println("이동한다.");
|
||||||
|
}
|
||||||
|
}
|
||||||
12
JavaOOP/src/poly/Cat.java
Normal file
12
JavaOOP/src/poly/Cat.java
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
package poly;
|
||||||
|
|
||||||
|
public class Cat extends Animal {
|
||||||
|
@Override
|
||||||
|
public void eat() {
|
||||||
|
System.out.println("고양이가 먹는다");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void say() {
|
||||||
|
System.out.println("냐옹옹");
|
||||||
|
}
|
||||||
|
}
|
||||||
8
JavaOOP/src/poly/Dog.java
Normal file
8
JavaOOP/src/poly/Dog.java
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
package poly;
|
||||||
|
|
||||||
|
public class Dog extends Animal {
|
||||||
|
@Override
|
||||||
|
public void eat() {
|
||||||
|
System.out.println("개가 먹는다");
|
||||||
|
}
|
||||||
|
}
|
||||||
18
JavaOOP/src/poly/Radio.java
Normal file
18
JavaOOP/src/poly/Radio.java
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
package poly;
|
||||||
|
|
||||||
|
public class Radio implements RemoCon{
|
||||||
|
@Override
|
||||||
|
public void chUp() {
|
||||||
|
System.out.println("Radio 채널이 올라간다.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void chDown() {
|
||||||
|
System.out.println("Radio 채널이 내려간다.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void internet() {
|
||||||
|
System.out.println("Radio는 인터넷 사용 불가");
|
||||||
|
}
|
||||||
|
}
|
||||||
13
JavaOOP/src/poly/RemoCon.java
Normal file
13
JavaOOP/src/poly/RemoCon.java
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
package poly;
|
||||||
|
|
||||||
|
public interface RemoCon { // 객체 생성 X : RemoCon r = new RemoCon(); (X)
|
||||||
|
|
||||||
|
// 상수를 사용가능 ( public static final 생략 )
|
||||||
|
int MAXCH = 100;
|
||||||
|
int MINCH = 1;
|
||||||
|
|
||||||
|
// public abstract 생략
|
||||||
|
void chUp();
|
||||||
|
void chDown();
|
||||||
|
void internet();
|
||||||
|
}
|
||||||
18
JavaOOP/src/poly/TV.java
Normal file
18
JavaOOP/src/poly/TV.java
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
package poly;
|
||||||
|
|
||||||
|
public class TV implements RemoCon{
|
||||||
|
@Override
|
||||||
|
public void chUp() {
|
||||||
|
System.out.println("TV의 채널이 올라간다.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void chDown() {
|
||||||
|
System.out.println("TV의 채널이 내려간다.");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void internet() {
|
||||||
|
System.out.println("TV는 인터넷 사용 가능");
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user