반응형
상속
객체지향 프로그래밍의 3대특징
1 . 캡슐화
2 . 상속
3 . 다형성
- 상위클래스가 하위클래스를 상속 받아 멤버 변수와 메소드를 사용할 수 있음
- 멤버 외에 타입 또한 상속 가능.
- 자바는 단일 상속만 지원(하나의 클래스만을 상위클래스로 가짐)
- 클래스 간의 상속 시에는 클래스 선언부에 extends(확장) 예약어 사용
- ex) class B extends A{ } B 클래스가 A클래스를 상속받는다.
- IS-A : 자식클래스는 하나의 부모 클래스이다. 하위클래스끼리는 접근 불가
- IS-A 관례로 구분되는 경우에만 사용하는게 좋음
- 상속의 장점 : 클래스의 재사용, 다형성 문법 가능
- 상속의 단점 : 상위 클래스 기능 변경시 하위 클래스 동작 유무 예측이 힘듦
상속 키워드
1 . super
- 상위클래스의 인스턴스 주소를 보관하는 레퍼런스 변수
- 하위클래스 내의 모든 생성자와 메소드 내에서 사용 가능
2. super()
- 상위 클래스가 가지는 private생성자를 제외한 나머지 생성자를 호출하는 구문
- 호출할 상위 생성자의 매개변수의 타입, 개수, 순서가 일치해야함.
3. 오버라이딩(@Override)
- 상위클래스에서 상속받은 메소드를 하위클래스에서 재정의하여 사용하는 것
오버라이딩 성립조건 |
1. 메소드 이름 동일 |
2. 메소드 리턴 타입 동일 |
3. 매개변수의 타입, 개수, 순서 동일 |
4.private 메소드는 불가능 |
5.final 키워드가 사용된 메소드 불가능 |
6. 접근제한자는 상위 메소드와 같거나 더 넓은 범위여야 함. |
7.예외처리는 같은 예외이거나 더 구체적(하위)인 예외를 처리해야 함. |
반응형
'프로그래밍 > java' 카테고리의 다른 글
[자바JAVA] 추상클래스와 인터페이스 (0) | 2022.07.14 |
---|---|
[자바JAVA] 다형성(동적바인딩, 클래스형변환) (0) | 2022.07.14 |
[자바JAVA] 객채 배열(초기화, 저장구조) (0) | 2022.07.11 |
[자바JAVA] 변수의 종류(지역변수, 전역변수, 매개변수, 클래스 변수) (0) | 2022.07.07 |
[자바JAVA] Final & static ( 필드, 메소드) (0) | 2022.07.07 |