추상화

Tech/Java 2022. 12. 4. 15:36
728x90
728x90

추상화

  • 공통된 특징을 묶어 하나의 클래스로 정의 (공통된 특징을 파악하는것이 중요)
  • 상속으로 사용해야하지만 다중상속 불가능
  • 객체 생성이 불가능
  • 접근제어자, 리턴타입 사이에 abstract라는 키워드를 사용
  • 자식 클래스들이 오버라이딩을 통해 메서드를 구현
abstract class Animal {
	
    // 추상 메서드 추상클래스 안에서 선언만 하고 {}대신 ;를 사용
	abstract void howl();	              
}

class Cat extends Animal {

	void howl() {
		System.out.println("야옹");
	}
}

class Dog extends Animal {
	
	void howl() {
		System.out.println("멍멍");
	}
}

 

public class Run {

    public static void main(String[] args) {

        // Animal a = new Animal(); 추상 클래스는 인스턴스를 생성할 수 없음.

        Cat c = new Cat();
        Dog d = new Dog();

        c.howl();
        d.howl();
    }
}


// Console
// 야옹
// 멍멍
728x90
300x250
mag1c

mag1c

2년차 주니어 개발자.

방명록