728x90
반응형
abstract 키워드
- 추상화 키워드
- 클래스, 메소드에 사용할 수 있다. (추상클래스, 추상메소드)
추상메소드
- 동작(실행)코드를 구현하지 않고 추상화시킨 메소드
- 메소드의 구현부분(method body, 몸체, {}부분)을 작성하지 않고 대신 ;로 끝낸다
- 형태
- [접근제한자] abstract [리턴타입] 메소드명(매개변수);
추상클래스
- 실체화(인스턴스화)할 수 없는 클래스
- new연산자를 이용하여 객체생성을 할 수 없다
- 추상메소드를 멤버로 가질 수 있다
- 반드시 추상 메소드를 멤버로 가져야하는 것은 아니다
- 형태
- [접근체한자 abstract class[클래스명] {}
** 추상메소드를 멤버로 가지려면 반드시 추상클래스로 지정되어야한다
** 추상메소드는 상속이 가능하다
** 추상메소드를 상속받은 자식클래스는 추상메소드를 처리해야만 한다
-> 오버라이딩 처리 (추상메소드 -> 일반메소드)
-> 자식클래스를 추상클래스로 지정하기
인터페이스, interface
- 추상메소드와 상수만 멤버로 가지는 일종의 추상클래스
- 멤버필드(상수)는 자동으로 public static final 키워드가 적용된다
- 멤버메소드는 abstract가 기본적으로 적용된다
- -> 멤버필드에 public, static, final 중 무엇이든 없어도 자동으로 전부 부여됨
- -> 멤버메소드에 abstract가 없어도 자동으로 부여됨
사용목적
- 상수들의 모음집 : 상수들만 따로 관리하기 위해 사용한다
- 메소드 개발 가이드 : 개발해야하는 메소드의 형식을 강제할 수 있다
클래스와 인터페이스의 상속
- 클래스의 클래스 상속 : extends (다중 상속 금지)
- 클래스의 인터페이스 상속 : implements (다중 상속 허용)
- 인터페이스의 인터페이스 상속 : extends (다중 상속 허용)
- 인터페이스의 클래스 상속 : 안됨
kimdevel.tistory.com/58?category=909475
반응형
'개발 > 자바' 카테고리의 다른 글
자바 Wrapper 클래스 / 박싱(Boxing), 언박싱(Unboxing) / 오토박싱, 오토언박싱 / 문자열 파싱(parse) (0) | 2021.02.02 |
---|---|
자바 API - Object 클래스 // toString, equals, hashCode, clone, finalize (0) | 2021.01.28 |
자바 상속, Inheritance / 오버라이딩, Overriding / super / final / 다형성 / for each 구문 (0) | 2021.01.25 |
자바 다차원배열 (0) | 2021.01.21 |
자바 배열 복사 (0) | 2021.01.20 |
댓글