본문 바로가기
IT Study/따즈아 Java & Java 기초

따즈아 java 멘토 시리즈 24강 - 상속과 다향성_상속/메서드 오버라이딩

by hhyyyjun 2022. 12. 27.

1. 상속

부모 클래스의 기능을 자식 클래스가 물려받는 것

사용 목적

부모 클래스에서 작성한 기능의 재사용을 위해

사용 방법

* 상속 시 생성자는 상속되지 않는다.

1.1) Practice

상속 시 주의할 점

1) 다중 상속 지원X >> if) 자식클래스가 두 개의 부모 클래스를 상속받는 것

2) 클래스 앞 final 키워드는 다른 클래스가 상속 불가

2. 오버라이딩

자식클래스에서 부모클래스로부터 받아온 메서드를 재정의하는 것

사용 목적

자식에 맞는 기능으로 맞춰 동작하기 위해

*자식(서브)클래스에서 부모(슈퍼)클래스의 메서드 호출하기(오버라이딩이 된 후)

부모클래스의 필드 사용방법 - super.메서드명

자식클래스 내 필드 사용 방법 - this.메서드명

2.1) Practice

2.2) Practice

3. 상속과 생성자

super() : 부모 클래스의 생성자 호출

무조건 자식 클래스의 생성자 첫 줄에서 이뤄짐

작성하지 않을 시, 컴파일러가 자동 호출

3.1) Practice

3.1) 해결방법 1. 기본 생성자 생성

3.1) 해결방법 2. 호출할 부모 생성자 지정하기

4. object 클래스

모든 클래스의 조상클래스(최상위 클래스)

toString() : 객체 정보를 문자열로 출력

equals() : 두 객체가 동일한가를 비교

getClass() : 객체의 클래스 정보를 가져옴

클래스만 생성 후 필드 접근해보면 object 클래스에서 여러 메서드를 만들어놨고 class라면 자동으로 object 클래스를 상속받기 때문에

object메서드를 사용할 수 있다.

클래스를 생성할 때 object 클래스를 슈퍼클래스로 지정되어있다!

4.1) Practice

실습

void가 없으므로 return값 존재

b1, b2 모두 같은 return값을 가지지만 객체가 서로 다르다. 하지만 다음 boolean 연산자에서 return값을 참으로 받아

결과는 참

*object - 어떤 자료형이 와도 비교가 가능

댓글