• 객체 지향을 확장하기 위해 사용하는 키워드와 개념 정리

abstract - 추상 메서드와 추상 클래스

  • 추상 메서드는 선언부만 있고 구현부가 없는 메서드
  • 추상 메서드를 하나라도 가지고 있다면 추상 클래스로 선언해야 함
  • 추상 클래스는 인스턴스, 즉 객체를 만들 수 없다(new 사용 불가)
  • 추상 메서드는 하위 클래스에 메서드의 구현을 강제한다(오버라이딩 강제)

생성자

  • 클래스의 인스턴서, 즉 객체를 만들 때마다 new 키워드를 사용한다
동물 뽀로로 = new 동물();
  • new 클래스명()의 클래스명()는 객체 생성자 메서드(생성자)이다
  • 자바는 인자가 없는 기본 생성자를 자동으로 만든다
  • 인자가 있는 생성자를 하나라도 만든다면 자바는 기본 생성자를 만들지 않는다

클래스 생성 시의 실행 블록, static 블록

  • 클래스 생성자는 존재하지 않지만 클래스가 스태틱 영역에 배치될 때 실행되는 코드 블록이 있다
  • 해당 패키지 또는 클래스가 처음으로 사용될 때 스태틱 영역에 로딩되며 스태틱 블록은 로딩될 때 단 한번만 실행된다

final

  • final 키워드는 클래스, 변수, 메서드에서 사용된다
  • 클래스에 final이 붙을 경우 상속을 허용하지 않기 때문에 하위 클래스를 만들 수 없다
  • 변수에 final이 붙을 경우 변경 불가능한 상수가 된다
  • 메서드에 final이 붙을 경우 재정의 즉 오버라이딩을 금지하게 된다

instanceOf

  • 만들어진 객체가 특정 클래스의 인스턴스인지 물어보는 연산자
  • 결과로 true 혹은 false를 반납한다

package

  • 네임 스페이스를 만들어주는 역할을 한다

interface와 implements

this 와 super

  • 객체가 멤버 메서드 내부에서 객체 자신을 지칭하는 키워드
  • 바로 위 상위 클래스의 인스턴스를 지칭하는 키워드

0개의 댓글