코딩항해기
[과제/JAVA] 멘토시리즈 : 자바 - 12 추상·인터페이스 응용문제 본문
멘토시리즈 : 자바 - 12 추상클래스와 인터페이스 응용문제 풀이
문제 1. 다음 빈칸에 알맞은 단어를 작성해보세요.
- 구현 내용이 없이 비어있는 메서드를 [ 추상 메서드 ] (이)라고 부릅니다.
- 위 메서드를 선언 할 때는 [ abstract ] 키워드를 사용해야합니다.
- 이러한 메서드를 1개 이상 가지고 있는 클래스를 [ 추상 ] 클래스라고 부릅니다.
문제 2. 다음 코드는 컴파일 에러가 발생합니다. 컴파일 에러가 발생하는 곳을 모두 찾아 수정해보세요.
1. 현재 Bike 클래스에 기본 생성자가 없으므로, Bike 클래스를 상속받는 ChildBike의 생성자에서 super에 매개변수 값을 넣어주어야한다.
2. Bike 클래스는 추상클래스이므로 객체화, 인스턴스화 할 수 없다.
문제 3. 다음 문장이 맞으면 O표, 틀리면 X표 하세요.
- 추상 클래스는 자식클래스들이 상속받아 구현합니다. O
- 인터페이스는 다른 클래스 코드들과 사이에서 중간 매개체 역할을 합니다. X
- 인터페이스 안에서 상수를 선언할 때, final을 명시하지 않으면 syntax error가 발생합니다. O
- 추상 클래스와 인터페이스의 추상 메서드는 구현부가 있으면 안됩니다. O
- 클래스 간 다중 상속이 불가능한 것처럼 인터페이스도 다중 상속이 불가능합니다. X
문제 4. 문제 2번 예제 코드에서 Bike 클래스 안에 아래 메서드를 추가했습니다. ChildBike 클래스를 어떻게 수정해야할까요?
구현을 강제하는 추상메서드가 추가되었으므로, 이를 상속받는 ChildBike는 해당 추상메서드를 오버라이딩하여 구현해주어야한다.
문제 5. 인터페이스를 사용함으로써 다음과 같은 객체 지향의 특징을 가질 수 있습니다. 각 용어의 개념에 대해 이해하고 있는 것을 간략히 서술해 보세요.
정보은닉:
실제 구현 클래스의 내용을 전혀 보지 않고도 개발 코드로 객체를 사용할 수 있습니다.
모듈화:
구현 클래스들이 독립적으로 구현되고 사용될 수 있습니다. 개발 코드에서 객체 변경이 필요할 때, 개발 코드의 수정을 최소화 할 수 있습니다.
'problem solving > 문제 풀기' 카테고리의 다른 글
[과제/JAVA] 멘토시리즈 : 자바 - 14 예외처리 응용문제 (0) | 2024.07.24 |
---|---|
[과제/JAVA] 멘토시리즈 : 자바 - 13 내부클래스 응용문제 (0) | 2024.07.23 |
[과제/JAVA] 멘토시리즈 : 자바 - 11 다형성과 타입변환 응용문제 (0) | 2024.07.22 |
[과제/JAVA] 멘토시리즈 : 자바 - 10 상속 응용문제 (0) | 2024.07.21 |
[과제/JAVA] 멘토시리즈 : 자바 - 09 생성자 응용문제 (0) | 2024.07.20 |