자바의 추상클래스에 대해서 알아보자!!
선언부만 존재하며, 구현부는 자식클래스에서 작성하도록 하는 메소드이다.
//abstract 반환형 함수명 (매개변수);
public abstract void display();
abstract
예약어{ }
대신 세미콜론;
하나 이상의 추상메소드를 포함하는 클래스이다.
abstract
예약어를 통해 생생할 수 있다.
⚠️ 추상 클래스를 상속받는 모든 클래스에서는 이 추상 메소드를 반드시 재정의해야 합니다.
//추상 클래스
abstract class 클래스이름 {
//추상 메소드
abstract 반환타입 메소드이름();
}
모듈처럼 중복되는 부분이나 공통적인 부분은 미리 다 만들어진 것을 사용하고, 이를 받아 사용하는 쪽에서는 자신에게 필요한 부분만을 재정의하여 사용함으로써 높은 생산성과 간단한 배포를 보장 할 수 있다.
추상클래스의 메서드
1. 구현된 메서드: 공통으로 사용할 구현코드 (하위클래스에서 재정의할 수 있다.)
2. 추상메서드 : 하위 클래스가 어떤 클래스냐에 따라서 구현 코드가 따라진다.
👉 추상메서드는 상속 클레스마다 다 다른 구현을 가진다!!
🎇 추상클래스를 만드는 이유
하위클래스에서 메서드를 각각 다르게 구현해야할 때
추상 클래스에서 해당메서드는 추상메서드로 남겨두고 실제 구현은 하위클래스에게 위임한다.
즉, 추상 메소드는 꼭 구현해야하면서, 하위클래스마다 다른 구현을 가지는 것이다.
요즘 언니랑 모여봐요 동물의 숲⛰️ 을 재밌게 하고 있어서 모동숲을 흉내내기로 했다..!!
🐹 모동숲 주민들 클래스
추상 클래스로 만들어서 각자 집을 하위클래스에서 구현할 수 있도록 하겠다. 유저와 인사하는 클래스는 모든 주민들이 동일하게 행동하기 때문에 일반 메소드로 구현했다.
😆 유저는 모동숲주민들과 인사할 수 있고, 주민들의 집을 놀러갈 수 있다.
헤헤 만들었는데,,, 너무 허접해서 보여주기 좀 그렇슴다^^ ㅎㅎㅎ
특히 메인함수에서 내가 쓴건 좀 절차지향과 닮아있지 않나 싶구요...
객체지향 쉽지 않네요.. 그래도 재밌습니다 히히
히히 자바 재미있는데 재미업다