2020. 2. 12. 18:44ㆍC# 언어/이것이 C# 이다. 책정리
- 생성자
- 특별한 메소드이며 클래스의 이름과 동일한 이름을 가지며, 객체를 생성하는 역할
- 정적 필드와 메소드
- static은 메소드나 필드가 클래스의 인스턴스가 아닌 클래스 자체에 소속되도록 지정하는 한정자이다.
- 프로그램 전체에 걸쳐 공유해야 하는 변수가 있다면 정적 필드를 이용하면 좋다.
- this 키워드
- 객체가 자신을 지칭할 때 사용하는 키워드
- this( ) 생성자는 자기 자신의 생성자를 가리킵니다.
- 객체 지향 프로그래밍의 3대 특성
- 은닉성, 상속성, 다형성
- 상속성
- 클래스 사이의 형식 변환
연산자 | 설명 | 반환값 |
is | 객체가 해당 형식에 해당하는지를 검사하여 그 결과를 bool 값으로 반환 | bool 형식 |
as | 형변환 연산자가 변환에 실패하는 경우 예외를 던지는 반면에 as 연산자는 객체 참조를 null로 만듭니다. |
캐스팅 성공시 캐스팅 결과 리턴 실패시 null 값 리턴 |
- 오버라이딩과 다형성
- 오버라이딩을 할 메소드가 virtual 키워드로 한정되어 있어야 한다.
- 그 다음 오버라이딩을 하는 측에서는 override로 한정해 줘야됨.
- private로 선언한 메소드는 오버라이딩을 할 수 없다.
- sealed로 오버라이딩을 봉인할 수 있다. virtual로 선언된 가상 메소드를 오버라이딩한 버전의 메소드만이 가능
- 분할 클래스
- partial 키워드를 이용해 선언
- 여러 번에 나눠서 구현하는 클래스를 말한다.
- 확장 메소드
- 기존 클래스의 기능을 확장하는 기법
- 메소드를 선언하되, static 한정자로 수식, 이 메소드의 첫 번째 매개 변수는 반드시 this 키워드와 함께
확장하고자 하는 클래스의 인스턴스여야 합니다.
namespace 네임스페이스이름
{
public static class 클래스이름
{
public static 반환형식 메소드이름( this 대상형식 식별자, 매개_변수_목록)
{
//
}
}
}
- 구조체
http://www.csharpstudy.com/CSharp/CSharp-struct.aspx
C# 구조체 - C# 프로그래밍 배우기 (Learn C# Programming)
Value Type vs Reference Type C#은 Value Type과 Reference Type을 지원한다. C#에서는 struct를 사용하면 Value Type을 만들고, class 를 사용하면 Reference Type을 만든다. C# .NET의 기본 데이타형들은 struct로 정의되어 있다. 즉, int, double, float, bool 등의 기본 데이타 타입은 모두 struct로 정의된 Value Type이다. Value Type은
www.csharpstudy.com
- 튜플
https://docs.microsoft.com/ko-kr/dotnet/csharp/tuples
튜플 형식 - C# 가이드
C#의 명명되지 않은 튜플 형식과 명명된 튜플 형식에 대한 자세한 정보
docs.microsoft.com
설치 방법 : [도구] -> [NuGet 패키지 관리자] -> [패키지 관리자 콘솔]
콘솔창에 Install-Package "System.ValueTuple" 타이밍