접근 제한자, 추상 클래스

Jiwontwopunch·2022년 1월 12일
0

독학

목록 보기
26/102

접근 제한자

캡슐화된 필드와 메서드 중에는 외부에 노출하지 않고 감추고 싶은 속성이나 메서드도 있을 것이다. 이런 경우 사용할 수 있는 것이 접근 제한자이다.
참고: https://velog.io/@gillog/Java-%EC%A0%91%EA%B7%BC-%EC%A0%9C%ED%95%9C%EC%9E%90

접근 제한자의 범위

  • public : 모든 접근을 허용
  • protected : 같은 패키지 & 상속을 받은 다른 패키지의 접근을 허용
  • 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 키워드를 붙여야 한다.
  • 추상 메서드는 객체를 생성할 수 없다.

0개의 댓글