Frog is cry
추상클래스 본문
ex01
package 추상클래스.ex01;
public abstract class Phone {
// 필드
public String owner;
// 생성자
// public Phone() {;} 기본 생성자 생성으로 인해 추상클래스 에러없애줌
public Phone(String owner) {
this.owner = owner;
}
// 메소드
public void turnOn() {
System.out.println("폰 전원을 켭니다.");
}
public void turnOff() {
System.out.println("폰 전원을 끕니다.");
}
}
package 추상클래스.ex01;
public class SmartPhone extends Phone{
// 생성자
public SmartPhone(String owner) {
super(owner);
}
// 메소드
public void internetSearch() {
System.out.println("인터넷 검색을 합니다.");
}
}
package 추상클래스.ex01;
public class Phone_Ex {
public static void main(String[] args) {
// Phone phone = new Phone(); 추상클래스로 직접할당이 불가함
SmartPhone sp = new SmartPhone("홍길동");
sp.turnOn();
sp.internetSearch();
sp.turnOff();
}
}
ex02
package 추상클래스.ex02;
public abstract class Animal {
public String kind;
public void breathe() {
System.out.println("숨을 쉽니다.");
}
public abstract void sound();
}
package 추상클래스.ex02;
public class Animal_Ex {
public static void main(String[] args) {
Dog dog = new Dog();
Cat cat = new Cat();
dog.sound();
cat.sound();
Animal animal = null;
animal = new Dog();
animal.sound();
animal = new Cat();
animal.sound();
animalSound(new Dog());
animalSound(new Cat());
}
public static void animalSound(Animal animal) {
animal.sound();
}
}
package 추상클래스.ex02;
public class Cat extends Animal{
public Cat() {
this.kind = "포유류";
}
@Override
public void sound() {
System.out.println("야옹");
}
}
package 추상클래스.ex02;
public class Dog extends Animal{ // sound를 재정의하지 않으면 오류가남
@Override
public void sound() {
System.out.println("멍멍");
}
}
'JAVA > 복습' 카테고리의 다른 글
인터페이스와 추상클래스의 차이 (0) | 2020.07.25 |
---|---|
인터페이스 (0) | 2020.07.22 |
타입변환과다형성 (0) | 2020.07.22 |
메소드 재정의(오버라이딩) (0) | 2020.07.22 |
getter_setter (0) | 2020.07.22 |
Comments