본문 바로가기
Java

JAVA Abstract

by titlejjk 2023. 5. 2.

Abstract 클래스는 자바에서 상속과 인스턴스화를 방지하기 위한 클래스이다. 이 클래스는 abstract 키워드를 사용하여 정의할 수 있으며, 클래스 내에 추상 메소드를 포함할 수 있다. 추상 메소드는 메소드의 기본 틀만 정의하고, 구현 내용은 자식 클래스에서 구현한다.

 

abstract 클래스의 주요 특징은

  • abstract 클래스는 인스턴스화 할 수 없다.
  • abstract 클래스는 추상 메소드를 포함할 수 있다.
  • abstract 클래스는 일반 메소드를 포함할 수 있다.
  • abstract 클래스는 자식 클래스에서 상속받아 구현한 추상 메소드를 호출할 수 있다.

abstract 클래스는 자식 클래스를 구현하는데 있어서 중요한 역할을 한다. 자식 클래스는 abstract 클래스를 상속받고, abstract 클래스의 추상 메소드를 구현해야 한다. 이를 통해 다형성을 구현할 수 있으며, 코드의 재사용성을 높일 수 있다.

 

abstract 클래스를 사용하면 좋은 이점은 다음과 같다.

  • 다수의 클래스가 공통된 기능을 갖는 경우
  • 코드의 재사용성을 높이고 싶은 경우
  • 클래스를 상속받아 구현해야 하는 경우

그러나 abstract 클래스를 사용하는 것이 항상 좋은 것은 아니다. abstract 클래스를 사용하는 것이 불필요한 경우도 있는데.

  • 클래스의 인스턴스화가 필요한경우
  • 클래스의 구현이 간단한 경우

주의점으로는 abstract 클래스 내에는 일반 메소드와 추상 메소드가 모두 포함될 수 있지만, 추상 메소드의 개수가 너무 많아지면 클래스의 복잡도가 증가할 수 있다. 또한, 추상 메소드를 오버라이딩할 때 메소드 이름과 그 메소드의 틀이 정확히 일치해야 한다는 점도 있다.

'Java' 카테고리의 다른 글

JAVA Inner class  (0) 2023.05.03
JAVA Extends  (0) 2023.05.02
JAVA 다형성  (0) 2023.05.02
JAVA This  (0) 2023.05.01
JAVA Scanner  (0) 2023.05.01

댓글