Object
특별한 명시를 하지 않으면 모든 class 들의 조상class가 될 수 있다. 즉 모든 인스턴스를 가리킬 수 있다.
Object t = new Temp(); 와 같이, Temp라는 자손class를 취해 인스턴스를 생성한다.
다음과 같이 인스턴스를 가리키는 참조형 변수가 만들어진다. 당연히 Object를 조상 class로 삼은 class 들은 Object에 정의돼있는 method들을 사용할 수 있다. 그중 toString, equals, instanceof 를 살펴보았다.
접근지정자
접근지정자는 멤버 변수, 함수 앞에 붙어 은닉성, 접근성에 대한 정보를 부여한다.
3가지 private, protected, public이 있다. 그리고 지정하지않은 변수와 함수들은 default값으로 friendly 로 지정된다.
각 지정자별로 위와 같이 상속과 접근에 대해 접근성을 띈다.
Abstract class
Abstract class 란 형태는 존재하지만 인스턴스를 생성할 수 없는 class를 말한다.
Abstract Method는 형태는 존재하지만 정의할 수 없는 Method를 말하는데, Abstract method를 포함한 class 는 반드시 abstract class 여야 한다.
위와 같이, abstract class Temp 에서 print라는 abstract method가 정의되면 그 자손 class Temp에서 print를 오버라이딩해서 사용한다. 오버라이딩하지 않으면 abstract 하지 않은 class에서 abstract method를 정의했기 때문에, 에러가 나게 된다.
null을 가리키는 함수를 가지면 인스턴스를 생성할 수 없다.