this
라는 키워드는 자바에서 자기 자신을 의미한다.
하지만 같은 객체를 반환하는 건가? 라는 의구심 과 궁금즘이 겹치면서 테스트를 진행을 해보았다.
public class JavaThis {
/**
* ClassName : A class
* Info : Main Class
*/
public static class A {
private String title;
private Integer count;
private B b;
public A() {
}
public A(String title, Integer count) {
this.title = title;
this.count = count;
}
public A(String title, Integer count, B b) {
this.title = title;
this.count = count;
this.b = b;
}
public A toSetB(B b) {
this.b = b;
return this;
}
}
public static class B {
private String title;
private Integer count;
public B(String title, Integer count) {
this.title = title;
this.count = count;
}
}
public static void main(String[] args) {
A a = new A();
System.out.println(a);
A b = a.toSetB(new B("test12345", 0));
System.out.println(b);
}
}
JavaThis.class 에서 안에 A,B Class 를 만들었다.
후에 B 클레스를 A 클레스 필드에 선언을 하였고
일반 텅빈 객체를 처음에 만들었고
후에 메소드를 통하여 this (자기 자신) 을 반환 시켜보았다.
참조값이 같은 것을 보아 결과적으로 this는 참조 반환이 맞았다.