의문점 공부하기/📌 Java

📌 보통의 클래스와 추상 클래스의 차이는 뭘까?

아리빠 2023. 6. 15. 16:57

자바에서 일반적인 클래스와 추상 클래스의 차이:

  • 보통의 클래스는 구체적인 데이터를 담아 인스턴스화하여 직접 다루는 클래스
  • 추상 클래스는 추상적인 데이터를 담고 있는 클래스로, 하나 이상의 추상 메소드를 포함
  • 추상 메소드는 자식 클래스에서 반드시 오버라이딩해야만 사용할 수 있는 메소드, 추상 메소드를 포함한 추상 클래스를 상속받는 자식 클래스는 추상 메소드를 반드시 구현해야만 인스턴스를 생성할 수 있다

자바에서 추상 클래스와 추상 메소드를 사용하는 목적:

  • 추상 클래스를 사용하여 다형성을 가지는 메소드의 집합을 정의할 수 있기 때문, 다형성은 객체 지향 프로그래밍에서 중요한 개념으로, 상속 관계에 있는 클래스들이 동일한 메소드를 가지고 있을 때, 각 클래스에서 메소드를 재정의하여 다양한 동작을 구현할 수 있다
  • 추상 메소드를 사용하여 자식 클래스가 반드시 구현해야 하는 메소드를 정의할 수 있다. 추상 클래스를 상속받은 자식 클래스는 추상 메소드를 구현하지 않으면 컴파일 오류가 발생!!! =>  추상 메소드를 구현하도록 강제할 수 있다. 이를 통해 모듈화된 코드를 재사용하고, 필요한 부분만을 재정의하여 사용함으로써 생산성을 향상

추상 클래스는 abstract 키워드를 사용하여 선언합니다. 추상 클래스는 동작이 정의되어 있지 않은 추상 메소드를 포함하고 있으므로, 인스턴스를 생성할 수 없음 + 추상 메소드는 자식 클래스에서 반드시 오버라이딩해야만 사용할 수 있는 메소드!