///////
Search

추상클래스

날짜
2022/09/27
텍스트
abstract (추상) 가 메서드에 있다면 클래스는 무조건 abstract 를 가져야한다.
추상클래스를 상속받은 자식클래스 → 무조건 부모의 메서드를 Override 해야한다.
→ 자식 클래스가 구현하라는 뜻
추상 클래스 내에 일반 메서드가 올 수도 있다.

추상 클래스를 왜 쓰는가?

1.
일반 클래스로 메서드를 오버라이딩 하게되면 자식 클래스가 부모 클래스의 메서드에 영향을 줄 수 있음. 그렇기에 부모 클래스의 메서드를 비워두고 자식 클래스가 각자 사용할 수 있도록 추상 클래스를 사용(정보은닉, 변수로 private를 사용하는 것과 비슷함.)
이렇게 값 변동을 막기 위한 요소들이 프로그래밍에는 여럿 존재한다.
2.
반드시 Override 해야 하는 함수라면 사용
→ 추상 메서드는 Override 안하면 오류남
예제 코드
abstract class Animal { public abstract void move(); // 함수 바디를 구현하지 않겠다. } class Lion extends Animal { @Override public void move() { System.out.println("사자의 move 메서드 입니다...어흥"); } } public class Abstract { public static void main(String[] args) { // Animal animal = new Animal(); // 혼자서 쓸수 없다. 컴파일 에러남 Animal animal = new Lion(); Lion lion = new Lion(); lion.move(); } }
Java
복사