2013년 10월 24일 목요일

[자바기초강좌, JAVA THIS, SUPER]자바에서 this란?

[자바기초강좌, JAVA THIS, SUPER]자바에서 this란?

this의 기본적인 의미는 자기자신 객체참조를 의미한다.
 
this(  --> 자기자신 객체의 생성자
this.  --> 자기자신 객체의 멤버변수
 
메쏘드 내에서만 사용 가능
메쏘드가 속하는 객체 자신의 참조 값을 가짐
은닉된 이름을 사용
 
public void setRadius( double radius ) {
    this.radius = radius;
}
 
자신의 객체 참조값을 다른 객체의 메쏘드에 전달 : obj.someOtherMethod( this );
자신의 객체 참조값을 반환 : return this;
 
[예제]
 
package onj;
class Circle
{
    private double radius = 0;
    public Circle setRadius( double radius ) {
        this.radius = radius;
        return this;
    }
    public double getArea() {
        return Math.PI * radius * radius;
    }
    public Circle display() {
        System.out.println("원의면적 " +
            radius + " = " + getArea() );
        return this;
    }
}

class ThisTest
{
    public static void main( String args[] )
    {
        Circle circle1 = new Circle();
        (((circle1.setRadius(1)).display()).setRadius(2)).display();
        circle1.setRadius(3).display().setRadius(5).display().getArea();
    }
}

[결과]

원의면적 1.0 = 3.141592653589793
원의면적 2.0 = 12.566370614359172
원의면적 3.0 = 28.274333882308138
원의면적 5.0 = 78.53981633974483

댓글 없음:

댓글 쓰기