📕 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 사용 관점)
문장을 마치지 않고 메소드 호출을 이어나갈 수 있다.
가독성을 향상시킬 수 있다.
- 인스턴스의 메소드 사용시 다음을 비교해보자
None 체이닝 체이닝 - 🤯 와! 한줄로 점찍어서 작성어케함?
'CS > SW 공학' 카테고리의 다른 글
| 니앙팽이 - 객체지향(OOP) | 2-6 | 생성자 & 생성자 위임 (0) | 2023.02.01 |
---|---|
| 니앙팽이 - 객체지향(OOP) | 2-5 | 구조체 (0) | 2023.02.01 |
| 니앙팽이 - 객체지향(OOP) | 2-3 | Static (클래스 멤버) (0) | 2023.02.01 |
| 니앙팽이 - 객체지향(OOP) | 2-2 | 접근한정자 (0) | 2023.02.01 |
| 니앙팽이 - 객체지향(OOP) | 2-1 | Class & Instance (0) | 2023.02.01 |