생성자의 규칙
- class의 이름과 똑같은 이름으로 지어 주어야 한다.
- return 값이 없다.
- 생성자도 오버로딩이 가능하다
- 생성자로 아무 값도 세팅해 주지 않았을때, 인스턴스는 멤버변수의 기본값을 갖게 된다.
상속
- 기존의 클래스를 재사용하는 방식 중의 하나. 한번 작성한 코드가 재사용이 필요하다면, 변경사항만 코드로 작성하므로 상대적으로 적은 양의 코드를 작성하고 관리하기가 용이해진다.
- 상속을 통해 클래스간의 계층구조를 만들게 된다.
- 부모 클래스에서 정의된 필드와 메소드를 물려 받는다.
- 새로운 필드와 메소드를 추가할 수 있다.
- 부모 클래스에서 물려받은 메소드를 수정할 수도 있다.
- 자식 클래스는 단 하나의 부모 클래스만 상속 받을 수 있다.
오버로딩
- 한 클래스 내에서 동일한 이름의 메소드를 여러개 갖는 것
- 오버로딩은 메소드 이름이 동일해야되고, 매개 변수의 개수나 혹은 type이 달라야 한다.
오버라이딩
- 부모 클래스에 있는 메소드를 똑같이 자식 클래스에 정의하는 것이다.
- 자식 클래스에서 정의한 내용으로 부모 클래스에서 정의한 메소드 내용을 덮어씌우는 것이다.
접근제어자
- 접근 제어자는 멤버 변수/함수 혹은 클래스에 사용되며 외부에서의 접근을 제한하는 역할을 한다.
- private : 같은 클래스 내에서만 접근이 가능하다.
- default(nothing) : 같은 패키지 내에서만 접근이 가능하다.
- protected : 같은 패키지 내에서, 그리고 다른 패키지의 자손 클래스에서의 접근이 가능하다.
- public : 접근 제한이 전혀 없다.
추상클래스
- 추상클래스란 추상메소드를 선언할 수 있는 클래스를 의미한다. 추상클래스 자체로는 인스턴스를 생성할 수 없다.
- 무조건 자식 클래스에 상속되어야 사용이 가능하다.
인터페이스
- 객체의 특정 행동의 특징을 정의하는 것
- 접근제어자, return type, 메소드 이름만 정의를 한다.
- 메소드의 내용은 없다.