this
- 자기 자신의 메모리를 카리킴(this를 리턴하면 주소값 출력 = 인스턴스와 this 가 동일)
MyDate mydate = new MyDate();
public MyDate(int day){
this.day = day;
}
>>> this.day = mydate.day 역할을 한다
- 생성자 오버로딩 : 다른 생성자를 생성 이 전에 해당 생성자의 다른 메소드 호출, 변수 초기화 등은 불가능. this 로 생성자 오버로딩 이후에는 가능
public Person() {
this("이름없음", "주소없음");
}
- 자기 자신을 반환할 때
public Person showResult(){
return this;
}
>>> 인스턴스와 동일한 역할로, 주소값 반환
static
다양한 인스턴스가 공유할 변수의 타입 (↔ 인스턴스 변수 : 인스턴스 별 가지고 있는 변수)
- 객체 생성할 필요 없이 사용 가능
- 인스턴스 생성과 상관 없이 클래스가 메모리에 로드될 때 생성
- static 메소드에서는 인스턴스 변수를 사용할 수 없다(인스턴스 변수는 객체가 생성될 때 생성되기 때문)
package staticex;
public class Card {
static int serialNum = 1000;
int cardNumber;
public Card() {
serialNum++;
cardNumber = serialNum;
}
}
package staticex;
public class CardTest {
public static void main(String[] args) {
System.out.println(Card.serialNum);
Card cardLee = new Card();
System.out.println(cardLee.cardNumber);
Card cardKim = new Card();
System.out.println(cardKim .cardNumber);
System.out.println(cardLee.serialNum);
System.out.println(cardKim.serialNum);
}
}
'JAVA' 카테고리의 다른 글
Array, ArrayList (0) | 2022.11.26 |
---|---|
객체지향-생성자, 접근제어자 (0) | 2022.11.26 |
클래스, 인스턴스 (0) | 2022.11.26 |
자바프로그래밍 시작하기 (0) | 2022.11.26 |