728x90

C# 81

24.07.19 C#

C#일반화 프로그래밍(Generic Programming)특수한 개념으로부터 공통된 개념을 찾아 묶는 것을 일반화(Generalization)라고 한다.데이터 형식을 일반화 한다.일반화 메소드(Generic Method)데이터 형식을 일반화한 메소드다.일반 메소드와 선언 문법이 대부분 비슷하다. 다만 일반화할 형식이 들어가는 자리에 구체적인 형식의 이름 대신 형식 매개변수(type parameter)가 들어간다.한정자 반환형식 메소드 이름 (매개변수 목록)일반화 클래스class 클래스이름(형식 매개변수)예외 처리하기(Exception Handing)try-catchtry절의 코드 블록에는 예외가 일어나지 않을 경우에 실행되어야 할 코드들이 들어가고, catch절에는 예외가 발생했을 때 처리 코드가 들어간..

C#5. 인터페이스, 추상 클래스, 프로퍼티, 컬렉션

C#인터페이스와 추상 클래스인터페이스 선언인터페이스는 interface 키워드를 이용해서 선언한다.클래스와 비슷하지만 메소드, 이벤트, 인덱서, 프로퍼티만을 가질 수 있다.인터페이스는 접근 제한자를 사용할 수 없고, 모든 것이 public으로 선언된다.인터페이스는 인스턴스를 가질 수 없지만, 이 인터페이스를 상속받는 클래스의 인스턴스를 만들 수 있다.이때 파생 클래스는 인터페이스에 선언된 모든 메소드(및 프로퍼티)를 구현해줘야 하고, 이 메소드들은 public 한정자로 수식해야 한다.인터페이스를 상속하는 인터페이스인터페이스를 수정할 수 없을 때 인터페이스를 상속하는 인터페이스를 이용해야 한다.상속하려는 인터페이스가 소스 코드가 아닌 어셈블리로만 제공되는 경우상속하려는 인터페이스의 소스 코드를 갖고 있어도..

언어/C# 2024.07.18

24.07.18 C#

C#인터페이스와 추상 클래스인터페이스 선언인터페이스는 interface 키워드를 이용해서 선언한다.클래스와 비슷하지만 메소드, 이벤트, 인덱서, 프로퍼티만을 가질 수 있다.인터페이스는 접근 제한자를 사용할 수 없고, 모든 것이 public으로 선언된다.인터페이스는 인스턴스를 가질 수 없지만, 이 인터페이스를 상속받는 클래스의 인스턴스를 만들 수 있다.이때 파생 클래스는 인터페이스에 선언된 모든 메소드(및 프로퍼티)를 구현해줘야 하고, 이 메소드들은 public 한정자로 수식해야 한다.인터페이스를 상속하는 인터페이스인터페이스를 수정할 수 없을 때 인터페이스를 상속하는 인터페이스를 이용해야 한다.상속하려는 인터페이스가 소스 코드가 아닌 어셈블리로만 제공되는 경우상속하려는 인터페이스의 소스 코드를 갖고 있어도..

C#4. 메소드, 클래스, 접근한정자, 상속

C#메소드(Method)일련의 코드를 하나의 이름 아래 묶은 것이다.이렇게 묶은 코드는 메소드를 호출하는 것으로 실행 가능하다.함수, 프로시저, 서브루틴과 다른점은 클래스안에 존재 한다는 것이다.값에 의한 전달(Pass by value)메소드를 호출할 대 데이터를 복사해서 매개변수에 넘기는 것을 의미한다.참조에 의한 매개변수 전달(Pass by reference)매개 변수가 메소드에 넘겨진 원본 변수를 직접 참조한다. 따라서 메소드 안에서 매개변수를 수정하면 이 매개변수가 참조하고 있는 원본 변수에 수정이 이뤄진다.ref 키워드를 매개변수 앞에 붙여준다.메소드의 결과를 참조로 반환하기(ref return)참조 변환 값을 이용하면 메소드의 호출자로 하여금 반환 받은 결과를 참조로 다룰 수 있도록 한다.re..

언어/C# 2024.07.17

24.07.17 C#

C#메소드(Method)일련의 코드를 하나의 이름 아래 묶은 것이다.이렇게 묶은 코드는 메소드를 호출하는 것으로 실행 가능하다.함수, 프로시저, 서브루틴과 다른점은 클래스안에 존재 한다는 것이다.값에 의한 전달(Pass by value)메소드를 호출할 대 데이터를 복사해서 매개변수에 넘기는 것을 의미한다.참조에 의한 매개변수 전달(Pass by reference)매개 변수가 메소드에 넘겨진 원본 변수를 직접 참조한다. 따라서 메소드 안에서 매개변수를 수정하면 이 매개변수가 참조하고 있는 원본 변수에 수정이 이뤄진다.ref 키워드를 매개변수 앞에 붙여준다.메소드의 결과를 참조로 반환하기(ref return)참조 변환 값을 이용하면 메소드의 호출자로 하여금 반환 받은 결과를 참조로 다룰 수 있도록 한다.re..

C#3. 조건 연산자, 패턴

C#조건 연산자(Conditional Operator)조건 연산자는 ?: 은 큭이하게도 피연산자가 세 개이다.조건식 ? 참일 때의 값 : 거짓일 때의 값null 조건부 연산자?. 은 객체의 멤버에 접근하기 전 해당 객체가 null인지 검사해서 그 결과가 참이면 그 결과로 null을 반환하고, 그렇지 않은 경우 . 뒤에 지정된 멤버를 반환한다.?[] 도 동일한 기능을 수행한다. 배열과 같은 컬렉션 객체의 첨자를 이용한 참조에 사용된다는 점이 다르다.null 병합 연산자?? 연산자는 두 개의 피연산자를 받아들이고 왼쪽 피연산자가 null인지 평가한다. 평가 결과가 null이 아닌것으로 나타나면 왼쪽 피연산자를 그대로 반환하고, 만약 왼쪽 피연산자가 null인 것으로 평가되면 오른쪽 피연산자를 반환한다.Swi..

언어/C# 2024.07.16

24.07.16 C#

C#조건 연산자(Conditional Operator)조건 연산자는 ?: 은 큭이하게도 피연산자가 세 개이다.조건식 ? 참일 때의 값 : 거짓일 때의 값null 조건부 연산자?. 은 객체의 멤버에 접근하기 전 해당 객체가 null인지 검사해서 그 결과가 참이면 그 결과로 null을 반환하고, 그렇지 않은 경우 . 뒤에 지정된 멤버를 반환한다.?[] 도 동일한 기능을 수행한다. 배열과 같은 컬렉션 객체의 첨자를 이용한 참조에 사용된다는 점이 다르다.null 병합 연산자?? 연산자는 두 개의 피연산자를 받아들이고 왼쪽 피연산자가 null인지 평가한다. 평가 결과가 null이 아닌것으로 나타나면 왼쪽 피연산자를 그대로 반환하고, 만약 왼쪽 피연산자가 null인 것으로 평가되면 오른쪽 피연산자를 반환한다.Swi..

C#. 2

C#C# 데이터 형식기본 데이터 형식(Primitive Type)복잡 데이터 형식(Complex Data Type)값 형식참조 형식변수(Variable)데이터를 담는 일정 크기의 공간초기화(Initalization)변수에 최초의 데이터를 할당하는 것을 의미한다. C언어나 C++에서는 변수를 선언한 후 아무 데이터도 입력하지 않으면 이 변수에 ‘쓰레기 데이터’가 들어간다. 프로그래머가 쓰레기 데이터를 담고 있는 변수를 그대로 사용하면 소프트 웨어가 엉뚱하게 동작하곤 한다.C#은 이런 문제를 미연에 방지하도록 초기화를 강제한다.리터널(Literal)컴퓨터 과학에서 리터널은 고정값을 나타내는 표기법을 말한다.값 형식과 데이터 형식값 형식(Value Type)은 변수가 값을 담는 데이터 형식이다.참조 형식(Re..

언어/C# 2024.07.15

24.07.15 C#

C#C# 데이터 형식기본 데이터 형식(Primitive Type)복잡 데이터 형식(Complex Data Type)값 형식참조 형식변수(Variable)데이터를 담는 일정 크기의 공간초기화(Initalization)변수에 최초의 데이터를 할당하는 것을 의미한다. C언어나 C++에서는 변수를 선언한 후 아무 데이터도 입력하지 않으면 이 변수에 ‘쓰레기 데이터’가 들어간다. 프로그래머가 쓰레기 데이터를 담고 있는 변수를 그대로 사용하면 소프트 웨어가 엉뚱하게 동작하곤 한다.C#은 이런 문제를 미연에 방지하도록 초기화를 강제한다.리터널(Literal)컴퓨터 과학에서 리터널은 고정값을 나타내는 표기법을 말한다.값 형식과 데이터 형식값 형식(Value Type)은 변수가 값을 담는 데이터 형식이다.참조 형식(Re..

C#. 1

using System;usingC#의 키워드 중 하나다.SystemC# 코드에 기본적을 필요한 클래스를 담고 있는 네임스페이스다.;(세미콜론)컴파일러에게 문장의 끝을 알려준다.using static어떤 데이터 형식의 정적 멤버를 데이터 형식의 이름을 명시하지 않고 참조하겠다.전역 using(global using)소스파일 한 곳에서만 네임스페이스를 참조하면 프로젝트 내 모든 파일에서 별도의 using문 없이 해당 네임스페이스를 참조할 수 있도록 한다.파일 범위 네임스페이스namespace 선언 뒤에 {} 대신 ;(세미콜론)을 붙이면 그 파일의 모든 코드는 해당 네임스페이스 소속으로 들어간다.Static void Main(string[] args){}이 메소드는 프로그램의 진입점(Entry Point)으..

언어/C# 2024.07.11
728x90