DAY 10

KSH·2022년 5월 1일

this를 통한 생성자 접근(호출)

  • 생성자 내부에서 this가 ()와 함께 시용되면,
  • 현재 객체 내부의 또 다른 생성자를 호출한다.
  • 반드시 생성자의 첫 라인에서 호출해야 한다.

method override : method overriding : 메소드 덮어 쓰기 : 메소드 재정의

  • 부모 타입에 선언된 메소드를 자식 타입에서 재정의 하는 것
  • 부모 타입에 선언된 메소드와 이름, arguments 같아야 한다
  • method overriding된 메소드는 호출 될 때, 자식 타입에 재정의된 메소드가 호출된다
    • method overriding을 사용하는 이유? & 장점
  • -> 자식 타입의 객체에 통일된 메소드를 두어서, 부모 타입에서도 자식 타입 고유의 메소드를 실행할 수 있다
  • -> 부모 타입의 변수로 접근 불가능한 자식 타입의 고유 영역에 접근 가능하다

Polymorphic Arguments : 다형성 응용

  • Arguments의 자리에 부모 타입의 변수를 사용하면,
  • 모든 자식 타입의 객체를 가져올 수 있다.

super : 부모를 지칭하는 키워드

  • 자식에서 부모의 변수를 호출하고 싶을 때 : super.변수;
  • 자식에서 부모의 메소드를 호출하고 싶을 때 : super.부모메소드();
  • super가 자식의 생성자에서 ()와 함게 쓰이면, 부모의 생성자를 호출
  • super()는 생성자의 첫째 라인에서만 사용될 수 있다.

has a relationship : 멤버루 다른 객체를 소유할 수 있다.

  • instance는 instance를 가질 수 있다.
  • 객체는 객체를 가질 수 있다.
  • 클래스는 클래스를 가질 수 있다.
  • 예) 자동차 객체는 엔진 객체를 갖는다.

Access Modifires : 접근 제한자

  • class, 변수, 메소드에 대해서 접근 권한(보안) 등을 제한하는 역활
  • class의 경우는 public, default만 가능
  • 변수, 메소드의 경우는 public, protected, default, private 모두 가능
  • public : 누구나 접근 가능
  • protected : 같은 패키지(폴더) 안의 class에서만 + 상속 관계의 class에서만 접근 가능
  • default : 같은 패키지(폴더) 안의 class에서만 접근 가능, 접근 제한자 자리에 아무 것도 없는 것
  • private : 같은 class 내부에서만 접근 가능

0개의 댓글