A → B → C → D
B' → C'
B'' → C''
변경을 하더라도 A, D 클래스가 에러가 없도록 만들고 싶다. (상속, 다형성)
상속을 표현할 때, EMPLOYEE (상위클래스, 수퍼클래스, 부모클래스)
↑
MANAGER (하위클래스, 서브클래스, 자식클래스)
자바에서는 ONLY 단일 상속만 지원한다.
하나의 서브 클래스가 가질 수 있는 상위 클래스는 오로지 하나이다.
더 필요한 것이 있다면 인터페이스로 보완하는 방식으로 자바는 지원하고 있다.
(다중상속을 하게 되면 다른 클래스에서 같은 메소드를 하나의 클래스에서 사용할 수 있기 때문)
하위 클래스는 상위 클래스의 private 접근 제한자는 접근이 불가능.
default, public, protected 만 접근이 가능하다.
일반적으로 this 키워드로 접근이 모두 가능하지만, 같은 이름의 변수나 메소드가 존재할 경우!!!!
구분하기 위해 super() 키워드를 사용한다.
자바에서 모든 클래스들은 Object라는 클래스를 상속 받고 있다.
toString() 메소드가 Object 클래스가 가지고 있는 메소드!
super() 를 생략하는 이유 ? 내 생성자 오버로딩을 할 때,
this 같은 경우 가장 위에 선언되어야 하는데
super()를 쓰는 경우 this가 에러가 발생. 그러므로 super()는 생략이 가능하다록 만들어뒀음
같은 패키지 내부에서 private은 에러 나머지는 no error!
다른 패키지 사이에서는 default와 private 에러! 그리고 나머지는 no error!
** 다른 패키지에서 다른 클래스에서의 호출 (객체 선언)
'자바 프로그래밍' 카테고리의 다른 글
[JAVA] 객체의 형변환 (0) | 2019.05.21 |
---|---|
[JAVA] 추상클래스 (abstract) (0) | 2019.05.20 |
[JAVA] static 키워드 (0) | 2019.05.20 |
[JAVA] 접근제한자 (0) | 2019.05.17 |
[JAVA] StringBuffer() , StringBuilder() (0) | 2019.05.17 |