자바

추상 클래스

khon98 2020. 6. 26. 23:12

추상 클래스

- 클래스를 작성할 때 메서드를 구현하지 않고 선언만 해 놓은 메서드를 추상 메서드라고 한다

 

- 추상 메서드는 구현 되지 않은 메서드이므로 메서드를 구현을 해야지만 사용이 가능하다

 

- 추상 메서드는 접근 제한자와 리턴 타입 중간에 abstract라는 키워드를 붙여준다

 

구현된 메서드

public void method( ) {

}

 

구현 되지 않은 메서드

public abstract void method( );

 

추상 클래스

- 추상 메서드를 하나라도 가진 클래스를 추상 클래스라고 부른다

 

- 추상 클래스는 구현되지 않은 메서드인 추상 메서드를 가지고 있기 때문에 직접 객체 생성할 수 없다

 

- 추상 클래스의 기능을 사용하기 위해서는 반드시 추상 클래스를 상속받는 서브 클래스가 있어야 한다

 

- 추상 클래스를 상속받은 서브 클래스는 추상 메서드를 반드시 구현해야 한다

 

- 추상 클래스는 접근 제한자와 class 키워드 사이에 abstract를 붙여 준다

 

- 추상 클래스를 사용하면 특정 메서드의 구현에 대한 강제성을 줄 수 있다

 

public abstract class ClassName{

}

 

AbstractTest.java

----------------------------------------------------------------------------------------------------------

Human h = new Human( );

h.sayHi( );

 

Animal a = new Human( );

a.sayHi( );

 

Animal a2 = new Animal( ) {

 

      @Override

      public void sayHi( ) {

           // TODO Auto-generated method stub

           System.out.println("반갑습니다");

      }

};

 

a2.sayHi( );

 

abstract class Animal {

     public abstract void sayHi( );

}

 

class Human extends Animal {

 

      @Override

      public void sayHi( ) {

           // TODO Auto-generated method stub

           System.out.println("안녕하세요");

      }

}

----------------------------------------------------------------------------------------------------------

 

Console

----------------------------------------------------------------------------------------------------------

안녕하세요

안녕하세요

반갑습니다

----------------------------------------------------------------------------------------------------------