일단 이것저것 해 보는 블로그

(Do it! 자바, 4주차-2) 10장 되새김 문제 풀이(작성 중) 본문

2026/Do it Java 스터디(2026.01.~02.)

(Do it! 자바, 4주차-2) 10장 되새김 문제 풀이(작성 중)

뷔구룽 2026. 1. 28. 17:13

사용한 학습 자료: 박은종, 2025, <Do it! 자바 프로그래밍 입문 [개정판]>, 이지스퍼블리싱.

https://ebook-product.kyobobook.co.kr/dig/epd/ebook/E000010942415

 

Do it! 자바 프로그래밍 입문 [개정판] | 박은종 저자

eBook Do it! 자바 프로그래밍 입문 [개정판] | 3만 6천 부 이상 팔린 초판의 성공에 힘입어 좀 더 입문자의 눈높이에 맞춰 내용을 수정하고 최신 개발 트렌드에 맞게 개정판을 출간했습니다. 저자인

ebook-product.kyobobook.co.kr

 

01. implements

-> 클래스가 인터페이스를 구현(implements)한다!

 

02. 추상 클래스

-> 클래스가 인터페이스를 구현할 때 인터페이스에 선언한 메서드를 모두 구현하지 않으면 그 클래스는 추상 클래스가 됨.

-> 인터페이스나 상위 클래스를 상속받은 하위 클래스에서 각기 필요한 기능을 재정의할 수 있음.

 

03. 상수

-> 인터페이스에 선언한 변수는 컴파일 시 상수로 변환됨.

 

04. 다형성

-> 객체 지향 프로그래밍의 주요 특성

-> 하나의 코드가 여러 자료형으로 구현되어 실행됨.

-> 같은 코드로 여러 구현(출력) 내용을 실행할 수 있음.

 

05. 디폴트 메서드, 정적 메서드

-> 디폴트 메서드: 인터페이스에서 구현 코드(몸체)까지 작성한 메서드로, defalut 예약어로 선언. 주로 인터페이스에서 기본적으로 제공하는 기능을 구현할 때 사용.

-> 정적 메서드: 인스턴스 생성과 상관 없이 사용할 수 있는 메서드로, static 예약어로 선언. 인터페이스 이름으로 직접 참조해 사용할 수 있음.

* 그 외, private 메서드: 인터페이스를 구현한 하위 클래스에서 사용하거나 재정의할 수 없음. 코드를 모두 구현해야 하므로 추상 메서드에 사용할 수 없지만, private static으로 정적 메서드에서 호출해 사용.

 

06. O

-> 한 클래스가 여러 인터페이스를 구현할 수 있음: 인터페이스에는 구현 코드나 인스턴스 변수가 없으므로 여러 개를 동시에 구현할 수도 있음.

* 인터페이스는 여러 개를 동시에 상속받을 수 있음.

* 한 클래스에서 인터페이스 구현(implements)과 클래스 상속(extends)을 같이 할 수 있음.

 

07. (일단 그 동안 블로그에 정리한 요약 정리를 다시 읽어보며 정리함. 밑줄은 학습 자료의 정답 부분 참고해 추가한 것)

  추상 클래스 인터페이스
공통점 - 구현 코드가 없음. 따라서 인스턴스화할 수 없음.
- 상속받은 클래스에서 필요에 따라 재정의할 수 있음.
- 객체 지향 프로그래밍 특성 중 다형성과 관련이 깊음.
차이점 - 클래스에서 추상 클래스를 상속받는 예약어: extends
- 추상 메서드로 구성.
- 내부에 추상 메서드 구현시 몸체(구현부, { })를 포함하지 않음.

(추가) 상위 클래스에 공통 부분과 하위 클래스에 위임할 기능을 선언할 때 추상 메서드 선언. -> 템플릿 메서드
추상 클래스는 주로 상속을 위한 정의(하위 클래스에 전달하는 위임장 느낌이려나) 담당.
- 클래스에서 인터페이스를 상속(구현)받는 예약어: implements
- 추상 메서드와 상수로 구성.
- 인터페이스에 선언한 변수는 상수로 변환됨.
- 내부에 몸체(구현 코드)까지 구현한 메서드가 존재할 수 있음. -> 디폴트 메서드

(추가) 객체가 제공해야 할 기능을 선언. 즉, 인터페이스는 객체가 제공하는 기능에 대한 일종의 계약서(가이드).

 

08.

 

09.