티스토리 뷰

상속의 개념

상속의 장점

  • 상속을 통하여 기존 클래스의 필드와 메소드를 재사용

  • 기존 클래스의 일부 변경도 가능

  • 상속을 이용하게 되면 복잡한 GUI 프로그램을 순식간에 작성

  • 상속은 이미 작성된 검증된 소프트웨어를 재사용

  • 신뢰성 있는 소프트웨어를 손쉽게 개발,유지 보수

  • 코드의 중복을 줄일 수 있다.

상속 사용

extends 클래스 == 기존의 클래스를 사용 한다
상속 사용 (extends Car)

 

상속 사용
Protected String a ; 로 하면 a 에 서브클래스가 접근 가능하다.

 

 

 

메소드 재정의
Override 를 작성하면 컴파일러가 재정의 했다는 것을 알고, 그 전에 같은 이름의 메소드가 없다면 오류를 냄으로써 이름을 일치하게 만들도록 유도한다.
super()는 생략하여도 자동으로 서브 클래스의 생성자에서 선언된다. 이 예에서는 메소드 재정의와 동시에 부모 메소드를 이용하는 예이다.

 

 

 

 

연습문제

 

1.

Person 클래스는 이름, 주소, 전화번호를 필드로 가진다. 하나 이상의 생성자를 정의하고 각 필드에 대해 접근자와 생성자 메소드를 작성하라. 이어 Person을 상속받아서 Customer 클래스를 작성해보자. Customer는 고객번호와 마일리지를 필드로 가지고 있다. 한 개 이상의 생성자를 작성하고 적절한 접근자 메소드와 설정자 메소드를 작성한다. 이들 클래스들의 객체를 만들고 각 객체의 모든 정보를 출력하는 테스트 클래스를 작성하라.

 

 

 

2.

일반적인 책을 나타내는 Book 클래스를 상속받아서 잡지를 나타내는 Magazine 클래스를 작성하여 보자. Book 클래스는 제목, 페이지수, 저자 등의 정보를 가진다. Magazine 클래스는 추가로 발매일 정보를 가진다. 생성자, 접근자, 설정자를 포함하여 각각의 클래스를 작성한다. 이들 클래스들의 객체를 만들고 각 객체의 모든 정보를 출력하는 테스트 클래스를 작성하라.

 

 

3.

일반적인 음식을 나타내는 Food 클래스를 상속받아서 멜론을 나타내는 Melon 클래스를 작성하여 보자. Food 클래스는 칼로리, 가격, 중량 등의 정보를 가진다. Melon 클래스는 추가로 경작농원 정보를 가진다. 생성자, 접근자, 설정자를 포함하여 각각의 클래스를 작성한다. 이들 클래스들의 객체를 만들고 각 객체의 모든 정보를 출력하는 테스트 클래스를 작성하라.

 

댓글
최근에 올라온 글
최근에 달린 댓글
250x250