Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 배열초기화
- is
- 오버라이딩
- 인터페이스의 프로퍼티
- 프로퍼티와 생성자
- 메소드숨기기
- 무명형식
- as
- this 키워드
- 인덱서
- 접근 한정자
- 가변배열
- 자동구현프로퍼티
- System.Array
- 이것이C#이다
- 중첩클래스
- 배열
- 분할 클래스
- base()
- 클래스
- 일반화 클래스
- 컬렉션 초기화
- 튜플
- 프로퍼티
- 인터페이스 상속
- c#
- 클래스 연습문제
- 추상 프로퍼티
- 형식변환
- 인터페이스 예제
Archives
- Today
- Total
제로의영역
7.6 this 키워드 본문
* 본 블로그 글은 머리가 아~~~주 나쁜 왕X100초보가 프로그래밍을 공부하면서 정리를 위해 작성하는 글입니다. 잘못 정리되거나 제가 잘못 이해한 글은 이해 및 조언 부탁드립니다.
* 공부는 '이것이 C#이다' 책을 보고 하고 있습니다. 참고로 어렵게 써져 있어서 별도의 정리 문서를 만들게 되었습니다.
7.6.1 나
(1) 정의: 객체(변수 또는 메소드)가 자신을 지칭할 때 사용하는 키워드.
(2) 객체(변수 또는 메소드) 내부에서 자신의 필드(클래스 안에 선언된 변수)나 메소드에 접근할 때 사용.
class Employee
{
private string Name; // 필드: 클래스 변수 선언
public void SetName(string Name) //메소드: 한정자+반환형식+메소드 이름(매개 변수)
{
this.Name = Name; //메소드의 객체 생성
}
}
'this.Name=Name' 문구의 this.Name는 필드 'private string Name' 의 Name을 지칭.
'this.Name=Name' 문구의 우측의 Name은 메소드의 매개변수 'string Name'의 Name을 지칭.
결론: 클래스의 변수를 메소드에 입력된 변수로 선언.
예제)
using System;
namespace ex7_6
{
class Employee
{
private string Name; //변수1
private string Position; //변수2
public void SetName(string Name) //메소드
{
this.Name = Name; //SetName()의 변수를 Employee의 변수로 선언
}
public string GetName() //메소드
{
return Name; //Name변수를 호출자에게 반환
}
public void SetPosition(string Position) // 메소드
{
this.Position = Position; //SetPosition()의 변수를 Employee의 변수로 선언
}
public string GetPosition() // 메소드
{
return this.Position; // Position변수를 호출자에게 반환
}
}
class Program
{
static void Main(string[] args)
{
Employee pooh = new Employee(); // pooh객체 생성:pooh는 Employee()를 가리킴
pooh.SetName("Pooh"); // SetName 메소드 호출
pooh.SetPosition("Waiter"); // SetPosition 메소드 호출
Console.WriteLine
($"{pooh.GetName()} {pooh.GetPosition()}");
Employee tigger = new Employee(); // tigger객체 생성:tigger는 Employee()를 가리킴
tigger.SetName("Tigger"); // SetName 메소드 호출
tigger.SetPosition("Cleaner"); // SetPosition 메소드 호출
Console.WriteLine
($"{tigger.GetName()} {tigger.GetPosition()}");
}
}
}
출력 결과:
Pooh Waiter
Tigger Cleaner
'C#' 카테고리의 다른 글
7.9 기반 클래스와 파생 클래스 사이의 형식 변환, 그리고 is와 as 2. (0) | 2019.05.31 |
---|---|
7.9 기반 클래스와 파생 클래스 사이의 형식 변환, 그리고 is와 as 1. (0) | 2019.05.30 |
7.8 상속으로 코드 재활용하기(base키워드) (0) | 2019.05.29 |
7.7 접근 한정자로 공개 수준 결정하기(은닉성) (0) | 2019.05.28 |
7.6.2 this() 생성자 (0) | 2019.05.27 |