티스토리 뷰
상속
- 부모 클래스가 자식 클래스에게 클래스 멤버와 메서드를 물려주는 것
- 자식 클래스는 부모 클래스의 모든 변수, 메서드를 사용할 수 있다.
특징
- 클래스 재사용
- 중복 제거
- 수정 최소화
상속 구현 방법
- extends 키워드 사용
class A{
}
class B extends A{ //B클래스는 A클래스를 상속 받음
}
super()
- 자식 클래스의 기본 생성자( 부모의 클래스를 상속받은 클래스는 super()라는 생성자가 숨겨져있음 )
- 부모 클래스의 생성자를 호출할 때 사용
- 직접 생성자를 선언할 때도 자식 클래스에서 반드시 부모 클래스의 생성자를 호출해야함
- 자식 생성자의 첫줄에서 호출
부모 클래스(매개변수1, 매개변수 2){
this.필드1 = 매개변수1;
this.필드2 = 매개변수2
}
자식 클래스(매개변수1, 매개변수2, ...){
super(매개변수1, 매개변수2, ...)
}
부모 생성자를 수동으로 선언해야 될 때
- 부모 클래스의 생성자가 기본 생성자(파라미터가 없음)가 아닐 때
오버라이딩
- 상속받은 메서드를 재정의해서 다시 구현하는 것
제약사항
- 부모클래스의 메서드 이름/ 반환 타입/ 매개변수와 동일해야 한다.
- 부모 클래스의 메서드 보다 접근제한 범위를 넓힐 수는 있지만 좁힐 수는 없다
@Override 어노테이션
모든 어노테이션은 기능을 가지지만 Override는 기능이 없다.
재정의했다는 의미로 생략이 가능하다.
super키워드
- 부모 클래스에서 상속받은 필드나 메서드를 자식 클래스에서 참조하는데 사용하는 참조 변수
- 부모 클래스의 주소가 들어있다.
접근제한자
public : 제한 없이 모든 패키지, 모든 클래스에서 접근 가능
protected : 같은 패키지 안에서 접근 가능하며 다른 패키지라도 자식 클래스라면 접근 가능
default : 접근제한자 표기 안했을 때, 같은 패키지 내의 클래스 끼리만 접근 가능
private : 같은 클래스 내에서만 접근 가능
*클래스는 접근 제한자로 public과 default만 사용 가능
2차 상속
상속 시 기능, 속성, 타입을 물려줌
타입은 유전자
다형성은 상속을 통해 가질 수 있음
자식 extends 부모 => 2형성, 하나만 상속 받을 수 있음
n차 상속
자식 extends 부모 = > 부모 + 조상1 + 조상2
부모 extends 조상1
조상1 extends 조상2
final(고정, 마지막)
- 변수, 클래스, 메서드에 모두 붙일 수 있다.
- 생성자에는 final을 붙일 수 없다.
변수
int a = 3; => 값을 바꿀 수 있음
final int a = 3; => 값을 바꿀 수 없음
1. 선언 후 값 변경 불가
2. 선언 시 초기 값을 반드시 부여(지역 final은 초기화 필요 없음)
메서드
final int add(int x, int y); => 오버라이딩 불가
객체(클래스)
final class A{
}
=> 상속을 시킬 수 없음(부모클래스가 될 수 없다.)
'JAVA' 카테고리의 다른 글
[JAVA] ch.12 추상 클래스, 추상 메서드, 인터페이스(interface) (0) | 2024.04.06 |
---|---|
[JAVA] ch.11 클래스 타입 변환, 다형성, instanceo, 오버로딩 오버라이딩 차이 (0) | 2024.04.06 |
[JAVA]메서드, getter/setter, 생성자, 매개변수, return, 오버로딩, this (1) | 2024.03.27 |
[JAVA]클래스, 정적멤버(static), 객체화 (0) | 2024.03.27 |
[JAVA]다차원 배열, 2차원 배열 (0) | 2024.03.26 |
- Total
- Today
- Yesterday
- Arrays클래스
- 서식문자
- 복합 대입 연산자
- 깊은복사
- 자바 출력문
- 배열
- dbms
- 논리 연산자
- 삼항 연산자
- 변수
- 메서드
- 제어문자
- 자바 자료형
- SETTER
- 자료형
- 얕은복사
- 오라클
- 생성자
- getter
- 관계 연산자
- this
- 비트 연산자
- 부호 연산자
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |