: 객체의 틀
→ 생략 혹은 복수 개 작성 가능
: 객체의 속성 데이터 저장 (클래스 영역에서 선언되는 변수)
→ 기본값으로 자동 초기화
변수 참고
: new 연산자로 객체 생성 시, 자동 호출되어 객체 초기화 (별도의 호출 불가)
클래스명()
Constructor 자동생성 방법
Source메뉴 → "Generate Constructor using Fields" → Fields 선택 → Generate
: 객체의 동작
cf) 필드와 메소드를 클래스의 멤버라고도 함
자세한 내용은 아래 포스팅 참고!
>> [Java] 기초6 (함수, 메소드)
: 변수와 메소드의 재사용
→ Parent(super) class가 Child class에게 변수와 메소드를 상속할 수 있음
cf) Java는 다중상속 불가 (즉, 부모 클래스를 하나만 가질 수 있음)
: 상속받은 메소드를 재정의
→ @Override
annotation을 붙여 실수 방지
: 객체 자신 지칭 (자기 참조)
this
참조변수this.
을 붙여서 멤버변수 사용 가능this()
생성자: 부모객체 참조
super
참조변수
→ 부모클래스 멤버변수 접근
super()
생성자
→ 부모클래스 생성자 호출
public static MainClass {
public static void main(String args[]) {
ChildClass cc1 = new ChildClass(); // 출력: Parent -> Child
ChildClass cc2 = new ChildClass(3); // i = 3
}
}
public class ParentClass {
// 필드, 멤버 변수
int i;
// 기본 생성자
public ParentClass() {
System.out.println("Parent");
}
// 생성자
public ParentClass(int i) {
this.i = i;
}
public void method() {
System.out.println("Parent method()");
}
}
public class ChildClass extends ParentClass {
// 기본 생성자
public ChildClass() {
// super(); 자동 호출
System.out.println("Child");
}
// 생성자
public ChildClass(int j) {
super(j);
}
@Override
public void method() {
super.method();
System.out.println("Child method()");
}
}