C#/C#기초 18

18.네트워크 프로그래밍

1.프로토콜 1)정의 :컴퓨터들간의 네트워크 통신 규약 2.TCP/IP(Transmission Control Protocol/Internet Protocol) 1)정의 :컴퓨터 사이의 통신 표준 및 네트워크 표준 프로토콜 2).TCP/IP 스택 -링크계층(Link Layer) :LAN(Localr Area Network),WIFI 같은 물리적인 연결부분에서 인터넷계층으로 데이터를 보낸다. -인터넷 계층(Internet Layer): 정보를 수신해야할 상태의 주소를 지정하고 나가는 정보와 들어오는 정보를 가공한다. -전송계층(Transport Layer): 통신하는 정보간의 연결성 신뢰성을 확보하는 계층 -애플리케이션 계층(Application Layer): 사용자와 소프트웨어 간의 소통을 담당하는 계층 ..

C#/C#기초 2023.06.14

17.스레드와 테스크

1.프로세스와 스레드 1)프로세스(Process) -실행파일이 실행되어 메모리에 적재된 인스턴스 2)스레드(Thread) -운영체제가 CPU 시간을 할당하는 기본단위 2.멀티스레드 1)정의 : 한 프로세스 안에 두가지 스레드를 실행하는 기법 2)장점 -응답성을 높일 수 있다. -자원의 공유가 쉽다. -경제적이다. 3)단점 -구현이 어렵다.(개발 난이도가 높다) -소프트웨어의 안정성을 해칠 수 있다. -과용하면 성능이 저하될 수 있다. 3.스레드 시작하기 -스레드를 제어하는 System.Threading.Thread 클래스를 사용 -기동절차 4.스레드 종료 시키기 1)Thread 객체의 Abort()메소드를 사용 *읽어보기 2)Thread 객체의 Interrupt()메소드 사용 -스레드가 동작중인(Runn..

C#/C#기초 2023.06.10

16.파일 다루기

1.파일 다루기 -파일(File): 컴퓨터 저장매체에 기록되는 데이터 묶음. -디렉토리(Directory): 파일 또는 다른 디렉토리의 묶음 -폴더(Folder): 디렉토리의 동의어 -System.IO 네임스페이스는 파일/디렉토리를 다루는 클래스 *클래스와 메소드 예시 2.스트림(stream)I/O 1)정의 : 데이터가 흐르는 통로, 데이터를 오고 가고 할 위치 사이의 통로 2)순차접근(Sequential Access) : 처음부터 끝까지 순서대로 읽고 쓰는 방식 3)임의접근(Random Access): 임의의 데이터로 즉시 접근하는 방식 4)System.IO.Steam 클래스 -입력 스트림,출력 스트림 역할을 모두 수행 -순차접근,임의 접근 방식 모두 지원 -단 추상클래스이기 때문에 파생클래스를 써야한..

C#/C#기초 2023.06.08

15.dynamic형식

1.dynamic 형식 1)정의 -런타임에서 형식검사가 이루어지는 형식 -dynamic을 제외한 모든 데이터형식은 컴파일 단계에서 형식검사를 수행 *일반형식 *dynamic 형식 *오리 타이핑 -기존의 OOP(객체지향)에서는 상속을 받은 객체는 부모의 메서드를 구현하지 않아도 사용할 수 있다. -객체를 상속의 관계가 아닌 행동의 관점으로 본다. 오리가 오리이기 위해 걷고,수영하고,꽥 거리면 오리다. -로봇이라는 객체도 걷고 수영하고 꽥 거리면 오리를 상속받지 않아도 오리로 취급한다. -dynamic 형식은 런타임에 형식추론을 하기 떄문에 메소드들은 오류가 발생하지 않는다. 2)dynamic형식과 동적언어 상호운영 -DLR은 CLR 위에 동작하여 동적언어를 실행한다. -C#은 동적언어코드와의 상호동작을 지..

C#/C#기초 2023.06.03

14.리플렉션과 애트리뷰트

1.리플렉션 1)정의 -객체의 형식 정보를 들여다보는 기능 -프로퍼티,메소드,필드,이벤트 목록, 인터페이스을 조회하고 동적으로 인스턴스를 만들 수 있다 2)GetType() 메소드 -모든 데이터 형식은 Object형식를 상속받는데 GetType 메소드는 Type형식으로 객체의 형식을 반환한다. 3)System.Activator - Type객체를 입력해서 인스턴스를 생성 - Propetyinfo클래스의 GetValue()값 읽고 ,SetValue()로 값 기록 - MethodInfo 클래스의 invoke()로 호출 4)리플렉션으로 형식생성 -System.Reflection.Emit 네임스페이스로 작성 2.애트리뷰트 1)정의 -코드에 대한 부가정보를 기록하고 읽는 기능 -메타데이터(코드의 정보)를 담는 요소..

C#/C#기초 2023.05.31

13.Linq

1.Linq 1)정의 -C#언어에서 통합된 데이터 질의 기능 -데이터 작업의 효율을 향상 -데이터 질의란 데이터 집합에서 원하는 데이터를 찾는 직업 -데이터 질의 요소 2)from절 - 사용할 데이터 원본과 그 요소(범위 변수)를 지칭할 쓰는 절 - from in형식으로 사용 - IEnumerable 인터페이스를 상속하는 형식만 가능 3)where절 -찾고자 하는 데이터를 걸러내는 조건식 역할 - where 범위 변수 조건식 -범위변수가 충족하는 조건을 매개변수로 입력 4)orderby절 -걸러진 데이터를 정렬 하는 역할 -orderby 범위변수 -범위변수 뒤에 아무거나 쓰지않거나 ascending을 붙이면 오름차순, descending(내림차순)으로 정렬, 5)Select절 -최종 결과를 추출하는 마침..

C#/C#기초 2023.05.24

12.람다식

1.람다식(Lamnda Expression) 1)정의 -간결하게 함수를 묘사하는 방법 2)방법 3)람다식으로 무명함수 정의 4)문형식의 람다식 -식이 아닌 코드 블록으로 작성 -ex) 5)Func과 Action -익명 메소드와 무명함수를 사용 하기 위해선 대리자를 선언해야 한다. Func과 Action은 마이크로소프트가 미리 선언해둔 대리자이다. -일반화와 최대 16개 매개변수를 지원한다. -Func은 결과를 반환하는 메소드 (반환값 있음) -Action은 결과를 반환하지 않는 메소드 (반환값 없음) -Func 예시 -Action 예시

C#/C#기초 2023.05.23

11.대리자와 이벤트

대리자(Delagator) 1)정의 -코드(메소드)를 대신 실행하는 객체 -메소드를 호출하듯 사용(즉, 인수를 입력하고 결과를 반환받음) -단, 대리자가 실행할 코드는 컴파일이 아닌 실행 시점에 결정 2)선언 -delegate 키워드를 사용 -메소드와 같이 대리자 또한 매개변수 목록과 반환형식을 가짐 3)일반화 대리자 -일반화를 사용하여 대리자를 작성 익명 메소드(Anonymous Method) 1)정의 -다른 코드 에서 재사용 될 일이 없는 이름없는 메소드 2)선언 이벤트(Event) 1)정의 -C#에서 객체의 사건을 표현하는 방식 -이벤트 처리기(Event Handler): 이벤트 발생 시 실행되는 메소드 -외부에서 호출 불가(은닉성) 2)선언

C#/C#기초 2023.05.22

10.예외 처리하기

1.예외(Exception)와 예외처리 -예외 : 예정된 프로그램 흐름에서 벗어나는 사건 -예외처리 : 예외가 프로그램의 오류나 다운으로 이어지지 않게 적절하게 처리하는 것. 2.예외를 받아내는 try ~ catch -구조적으로 예외처리를 할수 있게 해주는 문법 -try 블록에는 실행하는 코드 catch 블록은 예외 발생시 처리 코드 3. System.Exception 클래스 - 모든 예외 클래스의 조상으로 모든 예외를 받을 수 있다. 4.예외 던지기 -throw문으로 예외객체를 일으키기 -System Exception 클래스와 그 파생클래스의 인스턴스를 인수로 사용 -throw은 문으로 사용되지 만 식으로도 사용가능(C#7.0이상 부터 가능) 5.finally문 -try~ catch 블록 마지막에 붙여..

C#/C#기초 2023.05.21

9.일반화 프로그래밍

1.일반화 프로그래밍 1)정의 : 데이터 형식 일반화를 이용하는 프로그래밍 패러다임 한가지 코드를 다양한 데이터 형식에 활용하는것. *일반화(Generalization) : 특수한 개념으로부터 공통된 개념을 찾아 묶는 것 2)일반화 메소드(Generic Method) -데이터 형식을 일반화한 메서드 -메서드 이름 뒤 형식 매개변수를 입력하여 작성 -형식 매개변수 사이 사이에 일반화 데이터 형식을 입력 -컴파일 단계에서 형식매개변수는 실제형식으로 치환된다. 3)일반화 클래스(Genenric Class) -데이터 형식을 일반화한 클래스 -클래스 뒤에 형식매개변수를 입력하여 작성 4)형식 매개변수 제약하기 -형식 매개변수가 특정조건을 갖추도록 강제하는 것 -where 키워드를 사용하여 구현 5)일반화 컬렉션(..

C#/C#기초 2023.05.21