본문 바로가기

Backend/JAVA

[패캠/JAVA] 상속 관계 객체 생성 및 초기화(상태정보)

728x90

 

앞선 글에서 살펴 본것 처럼 상속을 쓰게 되면서 '자식이 부모의 상태정보를 마음대로 접근하는건 정보은닉에 위배되는거 아닌가?' 라는 의문점이 생겼었다

 

이에 대한 문제점의 예시를 살펴보자

다음과 같은 생성자를 만들어 놓고

이와 같이 초기화를 시킨다면 아무 제약 조건이 없어서 나이가 말도 안되는 숫자인 500이 들어가 있어도 값이 저장이 되고출력이 된다.

 

초기화는 해당하는 객체 자신이 하는 것이 바람직하다

-> 그래서 직접 접근 할 수 없도록 부모에 있는 상태 변수의 접근권한 protectedprivate로 바꾸고 부모에게 데이터를 넘겨서 부모가 부모의 생성자에서 정보를 초기화 하도록 한다

 

아래는 위에서 말한 해결방법으로 해결해 본 모습이다

728x90