-
2024.03.12 - this, this 생성자C# 2024. 3. 12. 23:34
- this 키워드
this 키워드는 클래스의 현재 인스턴스를 가리킨다. (대충 자기 자신을 가리킨다고 이해할 수 있다.)
this 키워드가 가장 많이 활용되는 방법으로는 비슷한 이름으로 숨겨진 멤버를 한정할 때이다.
(대충 클래스의 멤버와 이름이 겹치는 외부의 무언가와 구분하기 위해서 사용한다고 이해할 수 있다.)
- 클래스의 생성자에서 사용되는 this(가장 많이 활용되는 방법)
한 번쯤 봤을 법한 this의 사용방법이다. Player의 생성자의 매개변수 name, atk는 Player 클래스의 인스턴스가 가지고 있는 멤버 name, atk와 이름이 겹친다. 이를 this 키워드로 한정해 주면 name, atk가 클래스의 멤버인지, 매개변수인지 구분할 수 있다.
- this 생성자
클래스는 생성자의 매개변수 개수에 따라 여러가지 생성자를 가질 수 있다.
this 키워드를 사용하면, 생성자를 호출할 때 클래스 내의 다른 생성자를 호출할 수 있다.
이렇게 this 키워드를 사용하는 것이 this 생성자이다.
- this 생성자를 사용하는 방법
생성자(매개변수들) : this(매개변수들) { }
생성자 Player(string name)에 상속된 것 같이 보이는 this 생성자 this()는, Player(string name)이 호출되면 먼저 Player()를 호출한다.
생성자 Player(string name)을 통해 Player의 인스턴스를 생성하면, player의 atk의 값으로 100이 들어가 있음을 확인할 수 있다. Player(string name)에는 player.atk를 초기화하는 코드가 없지만, this 생성자를 통해 생성자 Player()가 호출되어 player.atk에 100이라는 값이 들어갔다.
- this 생성자를 활용해서 생성자의 코드를 간략하게 만들기
this 생성자를 사용하지 않으면, 생성자의 인수가 많아질 수록 아래처럼 코드가 길어질 것이다.
this 생성자를 활용하지 않은 예시 this 생성자를 활용하면 각 생성자가 반복적으로 작동하는 부분을 제거하여 다른 생성자에게 처리를 맡길 수 있다.
this 생성자를 활용한 예시 this 생성자가 다른 생성자를 호출하는 과정 'C#' 카테고리의 다른 글
2024.03.13 - LinkedList (0) 2024.03.14 2024.03.13 - List (0) 2024.03.13 2024.03.12 - 큐(Queue) (0) 2024.03.12 2024.03.12 - 스택(Stack) (0) 2024.03.12 2024.03.12 - Nullable Type(?), 조건 연산자(?:), null 조건부 연산자(?.) (0) 2024.03.12