アクセス制限者、抽象クラス


アクセス制限


カプセル化されたフィールドとメソッドでは、一部のプロパティまたはメソッドは外部に露出したくないので、非表示にしたい場合があります.この場合、利用できるのはアクセス制限者です.
参考:https://velog.io/@gillog/Java-%EC%A0%91%EA%B7%BC-%EC%A0%9C%ED%95%9C%EC%9E%90

アクセス制限範囲

  • public:全アクセス許可
  • 保護されている:同一パッケージへのアクセス許可&継承された他のパッケージへのアクセス許可
  • private:自分だけ近づけることを許す
  • default:自分を許す&自分と同じパッケージ内で接する
  • 抽象クラス

    package javastudy;
    
    public abstract class Bird {
     public abstract void sing();
     public void fly() {    // 일반 메서드도 만들 수 있다.
      System.out.printIn("날다.");
    }
    このメソッドが抽象クラスであることを示すキーワードはabstractです.メソッドが抽象メソッドの場合、クラスは抽象クラスのみです.
    package javastudy;
    
    public class Duck extends Bird {
    
     @Override
     public void sing() {
      System.out.printIn("꽥꽥!!");
      }
    }
    package javastudy;
    
    public class DuckExam {
    
     public static void main(String[] args) {
      Duck duck = new Duck();
      duck.sing();  // 꽥꽥!!
      duck.fly();   // 날다.
      }
    }

    抽象クラスの定義

  • 抽象クラスはクラスの前にabstractキーワードを付けて定義される.
  • 抽象クラスは未完成の抽象メソッドを含むことができる.
    抽象的な方法は内容のない方法です.すなわち,これは未実現の方法である.抽象メソッドは、戻り式の前にabstractキーワードを付ける必要があります.
  • 抽象メソッドではオブジェクトを生成できません.