공부/OOP

상속

kkkkkdddddhhhhh 2023. 12. 13. 01:01

OOP 의 핵심중 하나

 

다형성의 기반

is-a 관계

부모 클래스 멤버 변수가 private 일때

자식클래에스에서 부모 클래스 멤버변수에 접근하고 싶다면

protected로 바꿔주면 된다.

  • 외부 클래스는 접근할 수 없음
  • 클래스 내부,같은 패키지에 속한 클래스,자식 클래스만 접근가능

is-a관계

  • 상속관계
  • 수학에서 부분 집합 관계

A student is a Person

has-a관계

  • 컴포지션 관계
  • 가지고있는(포함) 관계

Casting

부모 ← 자식

암시적 캐스팅

 

Person 이 부모
Student 가 자식일 때

Student s1 = new Student();
Person = (Person) s1; // (person)생략가능 컴파일러가 해줌.

 

캐스팅은 형제간에 불가능하다 (부모 자식간에만 가능.)

instanceOf연산자

변수명 instanceof 클래스명

개체가 특정 클래스의 인스턴스인지 판단하는 연산자

  • 맞으면 참
  • 틀리면 거짓 반환

부모클래스로 검사해도 true가 나온다.

'공부 > OOP' 카테고리의 다른 글

Singleton  (0) 2023.12.13
Static  (0) 2023.12.13
개체 모델링 가이드라인.  (0) 2023.12.13
getter,setter  (0) 2023.12.13
OOP의 특성  (0) 2023.12.13