컴퓨터/정보처리기사 SW 공학

| 니앙팽이 - 객체지향(OOP) | 2-4 | 클래스의 this & 메소드 체이닝

객체지향

📕 2. 객체지향 개발


📄 4. 클래스의 this

1). this 란... 🔍

  • 클래스를 이용해 구체적인 제품으로 만든 Instance를 가르키는 것
    그 인스턴스 그 자신의 참조 변수

2). 왜 쓰는건가? 🤔

Doc이나, 블로그 돌아나니면서 알아본 결과..

ⓐ 명시성 👁‍🗨 (Class 작성 관점)
Class 메소드 작성시, 매개변수인스턴스의 멤버변수 명시적으로 구분하기 위해 this 사용

  • ex)
    매개변수와 멤버변수의 이름이 같습니다. 
    이럴때 this 를 사용하여 구분할 수 있습니다.
    /*클래스*/
    class Foo {
      private int value;
      Foo(int value(매개변수) ){
        /*   value(멤버변수)= value(매개변수);*/?? 이런식으로 작성해도 괜찮긴한데
        this.value(멤버변수) = value(매개변수); 이렇게 해야지 매개변수랑 멤버랑 확실히 구분 가능하다.
      } 
    }
    /*인스턴스*/
    Foo fooInstance = new Foo(30);
    
  • 그래서 매개변수와 멤버변수 구별안되는일을 피하기 위해
    웬만해서 void Foo(int _매개변수) {...} 이런식으로 언더바를 작성한다.

ⓑ 체이닝 🚋 (Instance 사용 관점)
문장을 마치지 않고 메소드 호출을 이어나갈 수 있다.
가독성을 향상시킬 수 있다.