추상 클래스(abstract class)

2021. 12. 7. 17:34·자바/기본적인 개념

1. 추상 클래스란?

- 단어의 뜻 그대로 완성되지 못한 채로 남겨진 설계도를 말한다.

 

- 미완성 클래스는 인스턴스를 생성할 수 없다. 

( 단, 생성자는 생성 가능하다. )

 

- 미완성 클래스는 상속을 통해서 자손 클래스에 의해서만 완성될 수 있다.

 

 

2. 추상 클래스가 필요한 이유는?

- 예를 들자면, 컴퓨터가 여러 대 있고, 여러 종류가 있으며 각기 다른 기능을 수행하지만, 이 들의

설계도는 90%는 동일할 것이다. 그래서 공통적인 부분을 먼저 설계한 다음 각각의 서로 다른 설계도를 

작성하는 것이 효율적이기 때문에, 사용하는 것이다.

 

 

3. 추상 메서드란?

- 추상 클래스와 개념이 같으며, 추상 메서드는 구현부와 선언부 중에 선언부만 작성한다.

- 문법: abstract 리턴타입 메서드이름();

 

 

4. 추상화와 구체화의 관계

- 추상화는 클래스간의 공통점을 찾아내서 공통의 조상을 만드는 작업이고,

구체화는 상속을 통해 클래스를 구현, 확장하는 작업이다.

 

- 그래서 상속계층도를 따라 내려 갈수록 세분화되고, 올라갈수록 공통요소만 남게 된다.

 

 

 

5. 추상 클래스를 이해하기 위한 예제(1)

 

 

 

6. 추상 클래스의 이해를 위한 예제(2)

 

( 9번째 줄에 오류가 발생하는 이유는 c 클래스는 a 클래스와 object 클래스를 상속한 것이 맞지만,

object라는 클래스에서는 s라는 메서드를 정의되지 않았기 때문이다. )

'자바 > 기본적인 개념' 카테고리의 다른 글

인터페이스 다형성  (0) 2021.12.08
인터페이스  (0) 2021.12.08
다형성(3)  (0) 2021.03.29
다형성(2)  (0) 2021.03.29
instanceof 연산자  (0) 2021.01.14
'자바/기본적인 개념' 카테고리의 다른 글
  • 인터페이스 다형성
  • 인터페이스
  • 다형성(3)
  • 다형성(2)
백_곰
백_곰
  • 백_곰
    친절한 코딩
    백_곰
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 알고리즘 (with JAVA)
        • 기본 알고리즘
        • 완전 탐색
        • 분할 정복 알고리즘
        • 동적 계획법
        • 탐욕법
        • 코딩 테스트 기출 문제
        • 코드트리 조별과제
      • 백준 (with JAVA)
        • 완전 탐색
        • 분할 정복
        • 그 외
      • 자바
        • 개발 환경 구축하기
        • 팁
        • 기본적인 개념
        • 컬렉션 프레임워크
        • 프로세스와 쓰레드
        • 지네릭스
        • 람다식
        • 스트림
        • 입출력 IO
        • 네트워킹
        • 열거형(enums)
        • java.lang 패키지
        • java.time 패키지
        • 유용한 클래스들
        • 형식화 클래스들
      • 안드로이드 with 자바
        • 응용 문제들
        • 자잘한 문제들
        • 오류 보고서
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      코딩테스트
      file
      유용한 클래스
      불안정 정렬
      다형성
      TCP 소켓 프로그래밍
      Arrays
      안정 정렬
      ServerSocket
      스트림
      코드트리
      map()
      람다식
      java.time 패키지
      문자 기반 스트림
      outputstream
      역직렬화
      안드로이드 스튜디오
      소켓 프로그래밍
      중간연산
      InputStream
      snail
      serializable
      선택 정렬
      알고스팟
      제자리 정렬
      Collections Framework
      java.lang패키지
      자바 개념
      코딩트리조별과제
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    백_곰
    추상 클래스(abstract class)
    상단으로

    티스토리툴바