본문 바로가기

JAVA

JAVA에서 사용하는 추상 클래스에 대한 이야기

자바에서 추상 클래스와 추상 메서드

자바에서 추상 클래스와 추상 메서드는 객체 지향 프로그래밍의 중요한 개념으로, 코드의 재사용성과 유지보수를 향상시키기 위해 사용됩니다.

 

추상 클래스 (Abstract Class)

정의

  • 추상 클래스는 하나 이상의 추상 메서드를 포함하는 클래스를 의미합니다. 이러한 클래스는 abstract 키워드를 사용하여 선언됩니다.
  • 추상 클래스는 객체 지향 프로그래밍에서 다형성을 구현하기 위해 사용됩니다.

 

특징

  • 객체 생성 불가: 추상 클래스는 인스턴스를 직접 생성할 수 없습니다. 즉, new 키워드를 사용하여 객체를 만들 수 없습니다.
  • 상속: 추상 클래스는 다른 클래스가 상속받을 수 있습니다. 상속받는 클래스는 추상 클래스의 모든 추상 메서드를 구현해야 합니다.
  • 메서드와 필드: 추상 클래스는 추상 메서드뿐 아니라 일반 메서드, 필드, 생성자도 포함할 수 있습니다.

 

예시 1

 

추상 메서드 (Abstract Method)

정의

  • 추상 메서드는 구현부가 없는 메서드로, 자식 클래스에서 반드시 오버라이딩되어야 합니다. 이러한 메서드는 abstract 키워드를 사용하여 선언됩니다.

 

 

특징

  • 선언부만 존재: 추상 메서드는 선언부만 가지고 있으며, 구현부는 없습니다. 따라서, 자식 클래스에서 이 메서드를 오버라이딩하여 구현해야 합니다.
  • 강제 구현: 추상 클래스를 상속받는 모든 자식 클래스는 추상 메서드를 반드시 구현해야 합니다.

 

예제

 

 

 

 

사용 목적

코드 재사용

  • 추상 클래스와 추상 메서드는 코드의 중복을 줄이고, 유지보수를 용이하게 합니다. 공통적인 부분은 추상 클래스에 정의하고, 각자 구현해야 하는 부분은 추상 메서드로 선언하여 자식 클래스에서 구현하도록 합니다.

 

다형성

  • 추상 클래스를 사용하면 다형성을 구현할 수 있습니다. 즉, 다양한 자식 클래스의 객체를 하나의 추상 클래스 타입으로 참조할 수 있습니다.

 

결론

자바의 추상 클래스와 추상 메서드는 객체 지향 프로그래밍의 핵심 개념으로, 코드의 재사용성과 유지보수를 향상시키기 위해 사용됩니다. 추상 클래스는 하나 이상의 추상 메서드를 포함하며, 이러한 메서드는 자식 클래스에서 반드시 구현되어야 합니다. 이는 코드의 중복을 줄이고, 다형성을 구현하는 데 중요한 역할을 합니다.