상속
어떤 클래스가 다른 클래스의 멤버변수와 멤버함수를 물려받는 것
상속은 코드를 재사용하기 위한 중요한 기법
=> 이어붙여지는 개념
재사용 => 일부를 수정해서 사용할 수 있다.
* 키워드는 extends
* 사용해보기
* 메소드 재정의 (메소드 오버라이딩, method Overriding)
메소드의 이름, 반환형, 매개변수의 개수와 데이터 타입이 일치하여야 한다.
==> 다형성을 위해 사용한다.
* 기본생성자는 객체가 만들어질때 사용하고 사라진다.
* 사용자정의생성자는 객체가 만들어질 때 저장된다.
* 오버라이딩을 하면 메인함수에서 자식클래스를 이용해 부모클래스의 오버라이딩한 함수를 부를 방법은 없다.
(필요할때는 그냥 부모클래스를 사용한다.)
* 접근 지정자
private - class내에서만 사용한다.
protected - 패키지 안에서만 사용한다.
public - 어디서든 사용한다.
* 이걸 묵시적인 호출이라고 한다.
사용자 정의 생성자를 사용할 때는 자식클래스의 생성자에 super(매개변수)를 활용한다.
Object의 메소드
Object는 모든 자바 객체의 조상(최상위 클래스, 부모클래스)이다.
부모가 하나를 만들어두면, 자식들이 가져다가 쓸 수 있다
=> 코드를 재사용한다.
인터페이스와 다형성
다형성
type이 여러개다. 다양하다.
=> 여러개의 타입을 하나의 코드로 처리
( 어떤 타입의 데이터가 들어와도 대응이 가능하게 만드는 것 )
자식 클래스의 객체 내부에는 부모클래스로 만든 객체가 포함되어있기 때문에
부모클래스의 참조변수로 자식클래스의 객체를 참조할 수 있다.
=>
Rectangle r= new Rectangle();
Shape s = new Rectangle();
객체지향에서의 다형성
전제 : 부모클래스의 참조변수로 자식클래스의 객체를 참조할 수 있다.
(자식클래스의 객체에는 부모클래스로 만든 객체를 포함하기 때문에)
- 부모클래스의 참조변수로 자식클래스의 객체를 참조했을 때
부모클래스에 존재하는 멤버에만 접근이 가능함
-부모클래스의 참조변수로 자식 클래스의 객체를 참조해서
부모 클래스에 존재하는 멤버함수 호출 시
자식클래스에서 해당 메소드를 오버라이딩 했다면
실제 호출되는 함수는...
자식에서 오버라이딩 한 메소드가 호출됨 (*동적바인딩)
* 부모는 부모가 자식에게 줘 자식의 것이 된 것들은 쓸 수 있지만,
자식의 고유의 것들은 사용할 수 없다.
* 동적 바인딩
'Java > 자바 기반 웹 개발자 과정 필기' 카테고리의 다른 글
[200316.16일차] (0) | 2020.03.16 |
---|---|
[200313.15일차] (0) | 2020.03.13 |
[200312.14일차] (0) | 2020.03.12 |
[200310.12일차] static (정적 변수,클래스변수) && 변수 정리 (0) | 2020.03.10 |
[200309.11일차] Java 11 - 클래스 && 객체 4 + 생성자 (0) | 2020.03.09 |
[200306.10일차] Java 10 - 클래스 && 객체 3 (0) | 2020.03.06 |
[200305.9일차] Java 9 - 클래스 && 객체 2 (0) | 2020.03.05 |