【Java入門】継承とは?「クラスの継承」でできること

【Java入門】継承とは?「クラスの継承」でできること

Javaによるシステムやアプリの開発において、クラスの継承は極めて重要な概念です。プログラムの中に同じような機能を持つクラスをその都度作ることは、生産性の低下につながるだけでなく、メンテナンスに時間がかかります。しかし、今回ご紹介する「クラスの継承」を利用することでこうした不都合を解消することができます。
今回は「Java入門」として、保守性の高いJavaプログラムを書くために欠かせないクラスの継承についてご紹介します。

IT業界まるわかりガイドは、日本初Web専門スクールのインターネット・アカデミーが運営する業界情報メディアです。最新の業界情報を、初心者にも分かりやすくご紹介しています。

IT研修・ITスクールのインターネット・アカデミー

目次

Javaの「継承」とは

Javaの「継承」とは

継承とは、新しい機能を作るとき、以前作った機能と共通する部分を引き継ぐことであり、Javaをはじめとするオブジェクト指向プログラミングの基本的な概念でもあります。

それでは継承が持つメリットとは何なのでしょうか。
1つ目のメリットは、既存機能を活用できるため、何度も同じプログラムを書かずに済むことです。システムやアプリを開発するためには、膨大な量のプログラムを書く必要がありますが、継承によって同じプログラムを書く手間が省け、生産効率を向上させることができます。

2つ目のメリットは、継承により読みやすいプログラムを書くことができ、バグが忍び込む可能性を抑えられることです。システムやアプリの運用開始後に保守が欠かせないことを考えれば、読みやすく保守が容易なプログラムであるに越したことはありません。

「クラスの継承」とは?

「クラスの継承」とは?

Javaでは継承によってさまざまな機能を引き継ぐことができますが、特にクラスの継承は大切なポイントです。クラスの継承によって、開発者は既存のクラスで指定されている変数やメソッドといった要素を取り込み、同じ記述を繰り返すことなく新しいクラスを作成することができます。

【継承の書式】
class サブクラス名 extends スーパークラス名 {}

クラスの継承をする場合、継承元をスーパークラス(親クラス)と呼び、継承先をサブクラス(子クラス)と呼んでいます。継承後、サブクラスではスーパークラスのメソッドや変数を使えるようになります。

以下は、与えられた顧客の氏名、住所、IDを出力するプログラムです。CustomerInfoクラスはCustomerクラスを継承しているため、CustomerInfoクラスで再び顧客の氏名と住所について記述する必要がありません。

【継承を用いたプログラム例】(Example.java)

class Customer{
 String customerName;  //顧客氏名
 int customerAddress;   //顧客住所
 public void setName(String name){
  customerName = name;  //顧客氏名をセットする
 }
 public void getName(){
  return customerName;  //顧客氏名を返す
 }
 public void setAddress(String address){
  customerAddress = address;  //顧客住所をセットする
 }
 public void getAddress(){
  return customerAddress;  //顧客住所を返す
 }
}

class CustomerInfo extends Customer{
 int customerID;  //顧客ID
 public void setID(int number){
  customerID = number;  //顧客IDをセットする
 }
 public int getID(){
  return customerID;  //顧客IDを返す
 }
}

public class Example{
 public static void main(string[] args){
  CustomerInfo hayashi = new CustomerInfo();  //hayashiをインスタンス化する

  hayashi.setName("Hayashi");
  hayashi.setAddress("Shibuya-ku, Tokyo");
  hayashi.setID(0001);

  System.out.println(hayashi.getName());  //氏名を出力する
  System.out.println(hayashi.getAddress());  //住所を出力する
  System.out.println(hayashi.getID());  //IDを出力する
 }
}

継承の注意点

継承の注意点

プログラムを書く上で大変便利な継承ですが、Javaのクラスで継承を使う場合には注意点があります。1つのサブクラスが継承できるのは1つのスーパークラスのみであり、2つ以上のスーパークラスを継承することはできません。
また、「final修飾子が付いたスーパークラスの継承はできない」「スーパークラス内のprivate修飾子の付いた変数やメソッドはサブクラスから利用できない」ことにも気を付ける必要があります。

Javaのクラス継承はコードの保守性を高める一方、注意点を見落としてしまうと「正常に動作しない」「エラーが出る」といったトラブルが生じる恐れがあります。注意点に気を付けてチェックするようにしましょう。

おわりに

継承を活用すれば、同じコードをいくつも書かずに新しいクラスを作ることができます。クラスごとに機能を分け、継承によって機能拡張を施すことで、プログラムの読みやすさを維持しつつ拡張性を持たせるなど、継承はチームで開発をする場合に特に重要な概念です。
趣味でコードを書く程度であれば、継承のメリットはあまり感じられないかもしれませんが、Javaによるシステムやアプリ開発といった現場では、大量のコーディングをしなければなりません。プログラマーやシステムエンジニアとして働くことを希望される方は、クラスの継承をマスターするようにしましょう。

インターネット・アカデミーは、開発現場の事情に精通した講師が入門から実践まで受講生の皆さまをサポートするスクールです。Javaプログラミングの基礎から大規模システムやAndroidアプリの開発まで効率的に学ぶことができます。ご興味のある方は、ぜひ無料体験レッスンにお越しください。初心者の方でも楽しみながら、プログラムの制作にチャレンジすることができます。

Webデザイン・プログラミングスクール インターネット・アカデミー

関連記事

初心者でもわかる、プログラミング言語「Java」でできること 【初心者入門編】プログラミングを学ぶならJavaから!その理由

関連講座

Java講座
ITエンジニア総合コース

Web業界への就転職・キャリアアップを成功させたいと考えている方へ
日本初そして日本唯一のWeb専門スクールインターネット・アカデミー

自分にぴったりのコースが見つかる

インターネット・アカデミーでは、Web業界を目指すあらゆる方にお応えすべく、多彩なコースをご用意しています。

Webデザインを学びたい方

プログラミングを学びたい方

自分のペースとスタイルで学べる

毎回好きな受講形式を選んで学習することができるので、働きながらじっくり通いたい方も短期間での就職を目指す方も自分の都合に合わせて、スケジュールを組むことができます。

  • ライブ授業

    現役のプロインストラクター
    と仲間と学ぶメリット

    ライブ授業
  • マンツーマン授業

    インストラクターと
    1対1という贅沢

    マンツーマン授業
  • オンデマンド授業

    いつでも学びたいことを
    学べる

    オンデマンド授業

自分に適した学習方法を探す

インターネット・アカデミーでは、無料体験レッスンを毎日開催しています。デザインやプログラミングの体験ができるのはもちろん、実際の授業に参加したり、就職や転職のご相談、通学スケジュールのご相談なども承っております。

  • ご要望をお伺い

    ご要望をお伺い

    まずはお客様のご要望をお伺いし、お一人おひとりの目的や悩みに最適な内容にカスタマイズ。お客様専用の内容で当日ご案内いたします。

  • カウンセリング

    カウンセリング

    就職や転職、在宅で働きたいなど、お客様の希望を叶えるために専任のスタッフが最適な学習プランをご提案。現在の仕事のご相談なども承ります。

  • 体験レッスン

    体験レッスン

    「自分に向いている分野は?」「自分にできる?」そんな疑問を解決するレッスンを無料で体験。デザインもプログラミングもお試しいただけます。

無料体験レッスン・個別相談のご予約

当日ご希望の方やお急ぎの方は、フリーダイヤルにてご予約いただけます。

0120-746-555 フリーダイヤル受付時間(平日・土日) 10時-21時 オンライン予約

IT研修・人材育成のご相談を無料で承っております
法人専用社員研修、内定者・新人研修のご予約

インターネット・アカデミーでは、
あらゆるニーズに合わせた研修カリキュラムを取り揃えています。

「自社に最適な研修プランを相談したい」「研修費用の相談をしたい」「助成金を申請したい」など、お電話またはお問い合わせフォームよりお気軽にご連絡ください。

03-3341-3781 受付時間(平日・土日) 10時-21時 法人専用 お問い合わせフォーム