반응형
청춘고양이
배움을 기록하는 곳
청춘고양이
전체 방문자
오늘
어제
  • Hello World (119)
    • JQuery (5)
    • In my opinion (4)
    • HTML&CSS (8)
    • JS (9)
    • JAVA (21)
    • Spring Boot (21)
    • Node.js (1)
    • Linux (7)
    • Git (2)
    • Kotlin (4)
    • Fluttor (4)
    • 정보처리기사 (19)
    • AWS (1)
    • Oracle (8)
    • MySQL (3)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 제이쿼리
  • js 패스워드 변경
  • css
  • 제이쿼리 버튼클릭시 색 변경
  • 중복 제거 로또
  • ScrollEffectJs
  • 객체 안의 함수
  • 제이쿼리 비밀번호
  • js 비밀번호
  • js
  • 스크롤js
  • 쉬프트 연산
  • 초보개발
  • 자바
  • spring 기본설정
  • js 로또 번호
  • 자바db연동
  • 가위바위보js
  • 제이쿼리 패스워드 변경
  • 청춘고양이

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
청춘고양이

배움을 기록하는 곳

JAVA

추상

2022. 5. 25. 01:11
반응형

추상 클래스(abstract class)

-미완성 설계도. 미완성 메서드를 갖고 있는 클래스
-추상 메서드 몸통{}이 없는 (미완성 메서드)
-앞에 abstract라는 키워드를 붙임

-다른 클래스 작성에 도움을 주기 위한 것. 인스턴스 생성 불가.
ex) 생성자 참조 변수 = new 생성자; //에러 : 추상 클래스의 인스턴스 생성 불가

-상속을 통해 추상 메서드를 완성해야 인스턴스 생성 가능

ex) class A extends 추상 클래스 {
추상 클래스에서 만든 추상 메서드를 구현할 수 있음.
}

-> 이를 통해 A는 인스턴스 생성이 가능하다. 즉, 완성된 설계도이다.


추상 메서드(abstract method)

-미완성 메서드. 구현부(몸통, {})가 없는 메서드
-꼭 필요하지만 자손마다 다르게 구현될 것으로 예상되는 경우
ex 추상 클래스에서 추상 메서드를 두 개 생성할 때 A는 추상 메서드 두 개를 구현해 만들 수 있고 B는 추상 메서드 두 개 중 한 개만 구현이 가능하다는 말이다. -> 원래 상속된 애들은 두 개를 구현해야 되지만 추상 클래스를 상속받은 클래스는 특정 추상 메서드만 구현이 가능하다. 이 때는 필연적으로 abstract를 붙여야 된다. 사실 정확히 말하자면 B의 경우는 추상 메서드 하나를 완성하고 다른 하나는 생략되어 있다. 즉, 추상 클래스를 상속받은 얘들은 추상 클래스에서 정의한 추상 메서드를 전부 다 구현할 필요 없이 일부만 구현이 가능하다.
-추상 메서드 호출 가능(호출할 때는 선언 부만 필요) 이 경우 1. 상속을 통해 자손이 추상 메서드를 완성 2. 자손의 객체를 생성 3. 그러면 추상 메서드를 사용할 수 있다.


추상 클래스의 작성

-여러 클래스에 공통적으로 사용될 수 있는 추상 클래스를 바로 작성하거나 기존 클래스의 공통부분을 뽑아서 추상 클래스를 만든다.
-추상화된 코드는 구체화된 코드보다 유연하다. 변경에 유리
ex) ABC abc = new ABC(); 구체적 / ABC abc = ABC.getInstance(); 추상적 -> ABC 자손 객체를 반환


해당 포스팅은 남궁성님의 자바의 정석 기초편을 보면서 공부한 내용을 정리했습니다. 참고 부탁드립니다.

반응형
저작자표시 (새창열림)

'JAVA' 카테고리의 다른 글

연산자  (0) 2022.06.06
Scanner  (0) 2022.06.06
형 변환  (0) 2022.06.06
양의 정수, 음수, 실수, 자료형  (0) 2022.06.03
인터페이스  (0) 2022.05.25
    'JAVA' 카테고리의 다른 글
    • Scanner
    • 형 변환
    • 양의 정수, 음수, 실수, 자료형
    • 인터페이스
    청춘고양이
    청춘고양이
    신입개발자

    티스토리툴바