으나님의 잡다한 개발상식
(JAVA) this와 super, this()와 super() 본문
1. this
현재 클래스의 멤버변수를 지정할 때 사용한다.
public class ParkVO {
private String plateNumber;
public void setPlateNumber(String plateNumber) {
this.plateNumber = plateNumber;
}
여기에서 this.plateNumber는 setPlateNumber함수 밖에 있는 plateNumber를 지칭하는 것이다.
※ 멤버변수 : 인스턴스 변수라고도 함. 메소드 밖에, 클래스 안에 선언된 변수 중 static이 없는 것. 객체가 생성될 때 생명이 시작되고, 그 객체를 참조하고 있는 다른 객체가 없으면 소멸한다.
https://sweeteuna.tistory.com/14
2. super
자식 클래스에서 상속받은 부모 클래스의 멤버변수를 참조할 때 사용한다.
class Sample1 extends Thread{
@Override
public void run() {
// TODO Auto-generated method stub
super.run();
}
}
super은 Thread를 상속받는 클래스에서 쓰기도 한다. 여기에서 super.run은 Thread클래스에 있는 것을 수행하라는 뜻이다.
3. this()
자신의 다른 생성자를 호출할 때 사용
this()는 객체가 자신의 다른 생성자를 호출할 때 사용하는 메소드임. 생성자 오버로딩이 많아 생성자 간 중복된 코드가 발생할 때 중복된 내용을 줄이고 좀더 간단히 코드를 작성하기 위한 메소드로서 반드시 생성자의 첫줄에서만 호출할 수 있다. this()의 매개값은 호출하려는 생성자의 매개변수 갯수와 타입에 맞게 제공해야 한다.
4. super()
자식 클래스에서 부모 클래스의 생성자를 명시적으로 지정하는 것으로, super()은 반드시 자식 클래스의 생성자에서 가장 첫줄에 선언되어야만 한다.
'JAVA' 카테고리의 다른 글
(JAVA) static 블록 (0) | 2019.12.12 |
---|---|
(JAVA) overloading과 overriding (0) | 2019.11.24 |
(JAVA) 예외 정리 (0) | 2019.11.23 |
(JAVA) 예외처리(try-catch) (0) | 2019.11.23 |
(JAVA) break와 continue 차이 (0) | 2019.11.23 |