すべて

016-002 - 抽象メソッドと具象メソッド

抽象メソッドは実装を持たないメソッドで、abstract修飾子を付けて定義します。抽象クラス内でのみ定義でき、子クラスで必ず実装しなければなりません。具象メソッドは通常の実装を持つメソッドで、抽象クラス内に共存できます。この組み合わせにより、共通処理と拡張ポイントを明確に分離できます。メソッドの可視性はpublicやprotectedで定義することが一般的です。

抽象メソッドと具象メソッドの使い分けは、優れたクラス設計の基本です。親クラスで共通処理を実装しつつ、個別の処理は子クラスに委ねることで、コードの重複を避け、変更に強い設計が実現できます。実務では、ビジネスロジックのテンプレート、データアクセスの共通処理と個別実装の分離、UIコンポーネントの基本機能と拡張などで活用されます。たとえば、レポート生成の共通フローを具象メソッドで定義し、データ取得処理を抽象メソッドとして子クラスに実装させるパターンがよく使われます。

この項目を学ぶことで、抽象クラスの設計パターンを習得し、適切な抽象化レベルでクラスを設計できるようになります。テンプレートメソッドパターンの実装力が身につきます。前提知識として、抽象クラスの基本概念を理解している必要があります。

問題 (9)

無料トライアル
016-002-001

具象メソッド:計算機クラスの複数メソッド

# 具象メソッド:計算機クラスの複数メソッド **この問題では**: `Calculator`<a href="https://javadrill.tech/problems/007">クラス</a...

無料トライアル
016-002-002

抽象メソッドと具象メソッド:乗り物クラス

# 抽象メソッドと具象メソッド:乗り物クラス **この問題では**: <a href="https://javadrill.tech/problems/016">抽象クラス</a>`Vehicle`...

無料トライアル
016-002-003

抽象メソッドと具象メソッド:図形クラス

# 抽象メソッドと具象メソッド:図形クラス **この問題では**: <a href="https://javadrill.tech/problems/016">抽象クラス</a>`Shape`を<a...

無料トライアル
016-002-004

抽象メソッドと具象メソッド:図形の面積計算

# 抽象メソッドと具象メソッド:図形の面積計算 **この問題では**: <a href="https://javadrill.tech/problems/016">抽象クラス</a>`Shape`を...

無料トライアル
016-002-005

具象メソッド:状態を持つポイントカードクラス

# 具象メソッド:状態を持つポイントカードクラス **この問題では**: `PointCard`<a href="https://javadrill.tech/problems/007">クラス</...

016-002-006

抽象クラス:具象メソッド

# <a href="https://javadrill.tech/problems/016">抽象クラス</a>:具象メソッド **この問題では**: `Animal`抽象クラスと`Dog`具象ク...

016-002-007

抽象メソッドと具象メソッドの共存

# 抽象メソッドと具象メソッドの共存 **この問題では**: `Animal`<a href="https://javadrill.tech/problems/016">抽象クラス</a>に抽象メソ...

016-002-008

抽象クラスでテンプレートメソッドを実装

# <a href="https://javadrill.tech/problems/016">抽象クラス</a>でテンプレートメソッドを実装 **この問題では**: <a href="https:...

016-002-009

抽象メソッドの実装

# 抽象メソッドの実装 **この問題では**: <a href="https://javadrill.tech/problems/016">抽象クラス</a>`Shape`を<a href="htt...