클래스를 알아봅시다! #3 😉
오늘은 클래스에서 this 사용법을 알아봅시다!
[ 자바 클래스 링크 ]
1. [JAVA] 클래스의 모든 것 #1 - 클래스의 개념과 용도
2. [JAVA] 클래스의 모든 것 #2 - 클래스의 static
this는 바로 자신의 객체의 참조값을 가리킨다고 보시면 됩니다. 자세한 내용은 예제에서 알아봅시다!
public class Car {
public String name;
public String brand;
public void drive() {
System.out.println("부릉부릉 달려요!");
}
public void showBrand() {
/*
* [ this에 대한 이해 ]
*
* 클래스 설계 단계에서는 잘 모르겠지만 이 클래스로 객체를 생성했을때
* 할당 받는 바로 자신의 객체의 참조값을 가리킨다.
*
*/
System.out.println(this.brand);
}
}
먼저 Car 클래스를 만들어줍니다.
자세히 보시면 showBrand()안에 System.out.println(this.brand);라는 것이 있죠?
여기서 this는 바로 자신의 객체의 참조값을 가리킵니다. 즉, this.brand는 이 객체의 brand를 가리킵니다.
Car car1 = new Car();
Car car2 = new Car();
car1.brand = "현대";
car2.brand = "기아";
car2.brand = "현대";
car1.showBrand();
car2.showBrand();
이렇게 자신의 brand를 출력해줍니다.
다른 예제를 보겠습니다!
public class Gun {
public Gun fire() {
System.out.println("빵~");
return this;
}
}
Gun이라는 클래스에 fire 메소드를 만들어주고 this를 return 해주었습니다.
this를 리턴한것은 자기자신의 참조값을 리턴하였다고 보면됩니다.
이제 main클래스에서 Gun 클래스를 사용해봅시다.
//객체를 생성해서 동일한 메소드를 여러번 호출하기
Gun g = new Gun();
g.fire();
g.fire();
g.fire();
System.out.println();
//메소드 안에서 this를 리턴하는 메소드의 사용
new Gun().fire().fire().fire();
fire은 자기자신의 참조값을 리턴하게 때문에 마지막 줄과 같이 계속해서 fire을 사용할수있게됩니다.
new Gun().fire().fire().fire();은 빵을 3번 출력한 모습을 볼 수 있습니다.
'Languages > JAVA' 카테고리의 다른 글
[JAVA] 자바 자료형 알아보기 #5 - 래퍼 클래스(Wrapper class) (0) | 2021.11.03 |
---|---|
[JAVA] 클래스의 모든 것 #4 - 생성자 (Constructor) (0) | 2021.11.03 |
[JAVA] 클래스의 모든 것 #2 - 클래스의 static (0) | 2021.11.02 |
[JAVA] 클래스의 모든 것 #1 - 클래스의 개념과 용도 (0) | 2021.11.02 |
[JAVA] 연산자 사용법 (0) | 2021.11.02 |