java oop : interface

This commit is contained in:
haerong22
2021-03-12 14:04:12 +09:00
parent 1c6e52efee
commit 9b81e125fb
8 changed files with 119 additions and 0 deletions

19
JavaOOP/src/Java23.java Normal file
View 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
View 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();
}
}

View 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
View 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("냐옹옹");
}
}

View File

@@ -0,0 +1,8 @@
package poly;
public class Dog extends Animal {
@Override
public void eat() {
System.out.println("개가 먹는다");
}
}

View 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는 인터넷 사용 불가");
}
}

View 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
View 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는 인터넷 사용 가능");
}
}