Java에서 super는 키워드 중 하나로, 부모 클래스의 객체를 참조하는 데 사용된다. 부모 클래스의 인스턴스 변수 또는 메소드를 호출하거나, 부모 클래스의 생성자를 호출하는 데 사용된다. 이를 통해 코드의 재사용성을 높이고, 코드 중복을 피할 수 있다.
super 키워드의 사용방법 👉
- super는 부모 클래스의 인스턴스 변수를 참조하는 데 사용.
만약 부모 클래스와 자식 클래스에서 같은 이름의 인스턴스 벼누가 있다면, 자식 클래스에서 super키워드를 사용하여 부모 클래스의 인스턴스 변수에 접근할 수 있다. - super는 부모 클래스의 메소드를 호출하는데 사용 된다.
만약 자식 클래스에서 부모 클래스의 메소드를 오버라이딩 했다면, 자식 클래스에서 super키워드를 사용하여 부모 클래스의 메소드를 호출할 수 있다. - super는 부모 클래스의 생성자를 호출하는 데 사용된다.
자식 클래스의 생성자에서 super키워드를 사용하여 부모 클래스의 생성자를 호출할 수 있다.
만약 자식 클래스에서 생성자를 정의하지 않았다면, 컴파일러는 자동으로 인자가 없는 부모 클래스의 생성자를 호출하는 생성자를 추가한다.
super 키워드의 사용 방법 예제👉
class Animal {
String color = "white";
void eat() {
System.out.println("eating...");
}
}
class Dog extends Animal {
String color = "black";
void eat() {
System.out.println("barking...");
}
void printColor() {
System.out.println(color); // "black" 출력
System.out.println(super.color); // "white" 출력
}
void callParentMethod() {
super.eat(); // Animal 클래스의 eat() 메소드 호출
}
Dog() {
super(); // Animal 클래스의 생성자 호출
System.out.println("dog is created");
}
}
// 실행 예시
Dog dog = new Dog();
dog.printColor();
dog.callParentMethod();
위에 코드에서 super.color는 부모 클래스인 Animal 클래스의 color 변수를 참조하며, super.eat()은 Animal 클래스의 eat()메소드를 호출한다. 또한, super()는 Animal 클래스의 생성자를 호출한다.
'Java' 카테고리의 다른 글
JAVA JSP와 Servlet을 사용하여 게시판을 만드는 원리 (2) | 2023.05.25 |
---|---|
JAVA Servlet (0) | 2023.05.20 |
JAVA DTO (0) | 2023.05.15 |
JAVA JDBC (0) | 2023.05.15 |
JAVA Input & Output (0) | 2023.05.11 |
댓글