키보드워리어

[자바] 추상클래스 제한과 활용 본문

JAVA/입문

[자바] 추상클래스 제한과 활용

꽉 쥔 주먹속에 안경닦이 2023. 3. 11. 09:42
728x90

안녕하세요 【키보드 워리어】

 

⌨🗡🧑


블로그 방문자 여러분, 안경닦이입니다.

 

오늘은 추상화 에 대해 알아보겠습니다.

 

 


서론에 힘을 주었습니다 ㅋㅋ

 

추상화는 중요한 주제이니까요. 추상화를 통한 제한과 활용을 알아볼게요.

 

추상 클래스의 제한과 활용

 

먼저, 추상 클래스란?

추상 클래스란, 하나 이상의 추상 메서드를 포함하고 있어서, 해당 클래스를 직접 인스턴스화 할 수 없는 클래스를 말합니다.

추상 클래스는 하위 클래스에서 구체적인 구현을 제공해야 합니다. *추상 메서드도 마찬가지입니다.

 

추상클래스 정의

추상 클래스 정의하는 방법은 다음과 같습니다.

 

abstract

 

아래는 추상 클래스의 예시입니다.

 

 
abstract class AbstractAnimal { //추상 클래스
  abstract public void bark(); // 추상 메서드
}

위 코드에서 AbstractAnimal은 추상 클래스이며, bark()는 추상 메서드입니다.

추상 메서드는 구현되지 않은 메서드를 말하며, 하위 클래스에서 반드시 구현되어야 합니다.

 

추상 클래스의 제한

추상 클래스는 인스턴스화 할 수 없습니다. 따라서, 추상 클래스를 직접 사용할 수 없으며, 하위 클래스에서 상속받아 사용해야 합니다.

또한, 추상 메서드는 선언만 되어 있으므로, 메서드 안에서 특정한 구문이 있을 수 없습니다. 추상 메서드는 오직 반환 타입만을 가질 수 있습니다.

abstract class Car{
abstract public String car(); //반환 타입은 String
}


추상 클래스의 활용

추상 클래스는 하위 클래스에서 구체적인 구현을 제공해야 한다는 특징을 가지고 있으므로, 하위 클래스에서 추상 메서드를 구현하여 사용합니다.

아래는 AbstractAnimal을 상속받은 하위 클래스 Dog의 예시입니다.

class Dog extends AbstractAnimal {
  @Override
  public void bark() { // 추상 메서드 구현
    System.out.println("멍멍");
  }
}

위 코드에서 Dog 클래스는 AbstractAnimal 추상 클래스를 상속받았으며, bark() 메서드를 구현하여 사용하고 있습니다. 따라서, Dog 클래스는 추상 클래스를 상속받아 구현한 구체적인 클래스가 됩니다.

 

이상으로 자바 추상 클래스에 대해 알아보았습니다. 감사합니다!

728x90