본문 바로가기
Application/Java

[Jump2Java] 05장 객체지향 프로그래밍 06

by 윤루트 2021. 9. 14.

Jump2Java 05장. 객체지향 프로그래밍

- 다형성

- 추상클래스

 

 

다형성

  • 하나의 객체가 여러개의 자료형 타입을 가질 수 있는 것
  • instanceof: 특정 객체가 특정 클래스의 객체인지를 조사할 때 사용되는 자바의 내장 키워드
public class Bouncer {
    public void barkAnimal(Animal animal) {
        if (animal instanceof Tiger) {       // animal 객체가 new Tiger로 만들어진 객체인가?
            System.out.println("어흥");
        } else if (animal instanceof Lion) { // animal 객체가 new Lion로 만들어진 객체인가?
            System.out.println("으르렁");
        }
    }
  • 인터페이스는 일반 클래스와는 달리 extends 를 이용하여 여러개의 인터페이스를 동시에 상속할 수 있는 다중 상속이 지원된다. (일반 클래스는 단일상속만 가능하다.)

추상클래스

  • 클래스가 설계도라면 추상클래스는 미완성 설계도이다.
  • 추상클래스로 만들기 위해서는 class 앞에 abstract 추가해야 한다.
  • 인터페이스 메소드와 같은 역할을 하는 메소드 역시 abstract 추가해야 한다.
public abstract class Predator extends Animal {
    public abstract String getFood();
}

댓글