티스토리 뷰

Java

자바 - 추상 클래스 정리

Kodong's blog 2025. 9. 10. 09:23

(2026/3/8 수정)

이 글은 너무 초짜때 써서 공부하기에는 적절하지 않다고 생각한다. 

따라서 아래 포스팅을 참고하길 바란다.

https://kodong8774.tistory.com/117

 

자바 - 추상 클래스 개념 정리

자바에서, 추상 클래스를 언제 사용하는지는 체스 게임을 만들면서 공부를 해놓고, 이후, 제대로 추상 클래스, super키워드를 활용해본적이 없는 것 같아 오늘 혼자서 추상클래스, super 키워드로

kodong8774.tistory.com

-------------------------------------------------------------------------------------

 

자바의 인터페이스에 대해서 공부해보았으니, 자바의 추상 클래스에 대해서도 공부해보자.

일단 간단한 예제를 만들어보았다 ( 현재 체스 게임을 만들기 때문에 클래스 이름을 체스관련 단어로 했다 ㅋㅋ)

일단 이 예제를 통해서 기본적인 추상 클래스의 개념을 익혀보자.

abstract class ChessPiece {
    public Integer x = 10;
    abstract public void sayHi();
}

abstract class King extends ChessPiece {
    @Override
    public void sayHi() {
        System.out.println("sayHi 구현함 !");
        System.out.println(x);
    }
}


public class Main {
    public static void main(String[] args) {
        King king = new King() {};
        king.sayHi();
    }
}

-------------------
// (결과)
// sayHi 구현함 !
// 10

■ 선언 방법 → abstract 키워드사용!!

일단 추상클래스를 선언할때는 abstract 키워드를 사용한다.

("자식 클래스를 이용하여 꼭 '구현'하세요!" 라는 의미) 

 

추상 클래스의 생성자를 바로 이용하여 객체를 생성할 수 없기 때문에, 자식 클래스를 이용하여 객체를 생성해야한다.

( 물론 추상 클래스에도 생성자를 생성하여 사용할 수 있다고는 하지만, 다음 포스팅이나 다뤄보겠다 )

 

■ 추상 클래스의 멤버들

▶  간단하게 말하자면, 일반 클래스랑 똑같이 접근제어자/제한자 선택가능(public, private, static, final 모두 가능하다는 의미)하다.

▶ 단, abstract 메서드는 private, static, final 불가하다. 이유는 간단하다. 자식 클래스로 구현을 하기 위함이다. 

------------------------

 

이번 글은 여기까지.

다음 포스팅에서 봅시다..... 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
글 보관함