객체 지향 프로그래밍 이해하기

2020. 2. 12. 18:44C# 언어/이것이 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" 타이밍

 

반응형