분류 전체보기374 c# 15 : 리플랙션 리플렉션 리플랙션은 객체를 X-ray 사진처럼 객체의 형식 정보를 들여다보는 기능입니다. 이 기능을 이용하면 우리는 프로그램 실행 중에 객체의 형식 이름부터 프로퍼티 목록, 메소드 목록, 필드, 이벤트 목록까지 모두 열어볼 수 있습니다. 형식의 이름만 있다면 동적으로 인스턴스를 만들 수도 있고, 그 인스턴스의 메소드를 호출할 수도 있습니다. 심지어 새로운 데이터 형식을 동적으로 만들 수 있습니다. 이렇듯 런타임에 형식 정보를 다룰 수 있게하는 리플렉션은 programmer에게 한층 더 강력한 표현력을 선사합니다. Object.GetType() 메소드와 Type 클래스 Object는 모든 데이터 형식의 조상입니다. 이 말은 즉 모든 데이터 형식은 Object 형식이 갖고 있는 다음의 메소드를 물려받아 갖고.. 2020. 6. 15. C# 14 : 람다식 람다식 람다 계산법은 크게 함수의 정의와 변수, 그리고 함수의 적용으로 이루어져 있다 아 계산법에서는 모든 것이 함수로 이어져 있습니다. 0,1,2 ....와 같은 숫자도 함수로 표현합니다. 따라서 람다 계싼법에서는 어떤 값을 변수에 대입하고 싶으면 함수를 변수에 대입하며, 이것을 함수의 적용이라 합니다. 람다식으로 만드는 익명 메소드는 무명 함수라는 이름으로도 부릅니다. 메소드는 입력과 출력을 가지고 있다. 람다식도 마찬가지로 둘 다 가지고 있습니다. 매개_변수_목록 => 식 ' => ' 이 연산자는 "입력" 연산자입니다. 이 연산자가 하는 역할은 그저 매개 변수를 전달하는 것 뿐입니다. 람다식에서는 =>를 중심으로 왼편에는 매개 변수가, 오른 편에는 식이 위치합니다. C# 컴파일러는 코드를 한층 더 .. 2020. 6. 15. C#_13 : WinForm으로 만드는 사용자 인터페이스1 WinForm 폼 디자이너에게 툴을 제공해서 프로그래머가 그림 그리듯 UI를 만들 수 있게 합니다. 도구 상자에서 버튼이나 콤보박스 등의 컨트롤을 끌어다 윈도우 위에 올려놓으면 컴파일 후의 프로그램과 똑같은 UI가 만들어진다. 이른바 WYSIWYG ( What You See Is What You Get ) 방식의 개발을 지원합니다. 컨트롤을 윈도우 위에 배치할 때마다 폼 디자이너는 우리에게 프로그램의 UI를 표시하는 한편, 뒤로는 관련 C#코드를 자동으로 만들어줍니다. 프로퍼티를 변경할 때, 이벤트 처리기를 추가할 때도 자동으로 코드를 수정합니다. C# 코드로 WINFORM 윈도우 만들기 윈도우를 만드는 절차 윈도우 클래스를 정의합니다. ( 윈도우에 대한 정보를 가지고 있는 구조체 ) 정의된 윈도우 클래.. 2020. 6. 12. c#_12 : LINQ , JOIN LINQ LINQ ( Language INtergrated Query ) 는 뭔가에 대해 물어본다는 뜻입니다. 데이터 질의라고 하면 데이터에 대해 물어본다는 말이 됩니다. 그렇다면 그 질문을 받은 누군가는 데이터에 대한 답변을 준다. From : 어떤 데이터 집합에서 찾을 것인가? Where : 어떤 값의 데이터를 찾을 것인가? Select : 어떤 항목을 추출할 것인가? FROM : 모든 LINQ 쿼리식은 반드시 From 절로 시작합니다. 쿼리식의 대상이 될 데이터 원본과 데이터 원본 안에 들어 있 는 각 요소 데이터를 나타내는 범위 변수를 from절에서 지정해줘야합니다. 이때 from의 데이터 원본은 아무 형식 이나, 사용할 수 없고 IEnumerable 인터페이스를 상속하는 형식이여 합니다. 범위 .. 2020. 6. 12. c#_11 : 대리자와 이벤트 대리자와 이벤트 대리자 출장을 나온 김대리는 사장님께 급히 보고를 드릴 일이 있어 회사에 전화를 걸었습니다. 그런데 전화를 받은 사람은 사장님이 아닌 비서였습니다. 김대리는 비서에게 사장님이 돌아오면 전화를 부탁드린다고 메모를 남겼습니다. 잠시후 사장님은 비서의 메모를 받고 김대리에게 전화를 걸어 통화하였습니다. 위의 예에서 김대리가 비서에게 했던 부탁 ( 메모 ) 를 '콜백(CallBack)'이라고 한다. 대신 어떤 일을 해줄 코드를 두고, 이 코드가 실행할 세부코드는 컴파일 시점이 아닌 실행 시점에 부여하는 식입니다. C#에서 대리자는 바로 이 콜백을 구현하기 위해 사용됩니다. 누군가 대신해서 일해주는 것을 전문으로 하는 사람을 의미합니다. 객체의 주소를 가리키는 "참조"를 알 것입니다. 대리자는 메.. 2020. 6. 12. c#_10 : 인덱서와 예외처리 인덱서 ( Indexer ) 인덱스를 이용해서 객체 내의 데이터에 접근하게 해주는 프로퍼티입니다. 객체를 마치 배열처럼 사용할 수 있게 해준다. - 인덱서 선언 방법 class 클래스명 { 한정자 인덱서 형식 this[형식 index] { get { //인덱스를 이용한 내부데이터 반환 } set { //인덱스를 이용하여 내부 데이터 저장 } } } 위 인덱서 선언 문법을 보면 알 수 있듯이, 인덱서는 프로퍼티처럼 식별자를 따로 가지지 않는다. 프로퍼티가 이름을 통해 객체 내의 데이터에 접근하게 해준다면, 인덱서는 인덱스를 통해 객체 내의 데이터에 접근하게 한다. LIST LIST 클래스는 비일반화 클래스인 ArrayList와 같은 기능을 하며, 사용 방법 역시 동일하다. - LIST 클래스는 인스턴스를 .. 2020. 6. 11. 데이터베이스 9 : 제약조건 제약조건 제약 조건(Constraint)은 테이블에 저장할 데이터에 제약하는 특수한 규칙을 뜻한다. 제약 조건을 설정한 열에는 조건에 맞지 않는 데이터를 저장할 수 없습니다. 이 제약 조건은 데이터 베이스 데이터의 정확성을 유지하기 위한 목적으로 사용하며 앞서 살펴본 데이터 정의어(DDL, Data Definition Language)로 설정할 수 있다. 오라클에서 사용하는 제약 조건은 테이블의 특정 열에 지정한다. 제약 조건 지정 방식에 따라 기존 데이터의 수정이나 삭제 가능 여부도 영향을 받는다. 예를 들어 로그인에 사용할 아이디나 이메일 주소를 중복되지 않도록 설정할 수 있다. 또는 회원 가입할 때 이름, 생년월일 등의 데이터는 필수 입력 항목으로 두어 빈값(Null)을 허용하지 않도록 지정할 수 .. 2020. 6. 11. 데이터베이스8 : 인덱스와 시퀀스 객체 종류 데이터베이스를 위한 데이터를 저장한 데이터 사전 데이터 사전 오라클 데이터베이스 테이블은 사용자 테이블과 데이터 사전으로 나뉩니다. 사용자테이블은 데이터베이스를 통해 관리할 데이터를 저장하는 테이블을 뜻한다. 데이터사전에는 데이터베이스 메모리/성능/사용자/권한/객체 등 오라클 데이터베이스 운영에 중요한 데이터가 보관되어 있습니다. 따라서 오라클 데이터베이스는 사용자가 데이터 사전 정보에 직접 접근하거나 작업하는 것을 허용하지 않습니다. 그 대신 데이터 사전 뷰를 제공하여 SELECT문으로 정보 열람을 할 수 있게 해두었습니다. 데이터 사전 뷰는 용도에 따라 다음과 같은 접두어를 지정하여 분류합니다. - USER_XXXX : 현재 데이터베이스에 접속한 사용자가 소유한 객체 정보 - ALL _ X.. 2020. 6. 10. c#_9 : Oracle과 C# 연동 방법과 선언 연동 후 확인하는 방법 - C#을 통해 오라클 접속 후 switch, Case 문을 이용하여 테이블 생성, 데이터 삽입, 테이블 조회 과정 2020. 6. 10. c#_8 : 배열과 컬렉션 그리고 인덱서 프로그램을 작성하다 보면 같은 성격을 띤 다수의 데이터를 한 번에 다뤄야하는 경우가 자주 생긴다. 데이터를 다루기 위해서는 데이터를 담는 변수가 필요합니다. 배열 배열의 각 요소에 데이터를 저장하거나, 요소 안에 있는 데이터를 읽어올 때에는 배열 이름 뒤에 괄호 [ ] 를 붙여주고, 괄호 사이에 인덱스(Index)를 적어주면 된다. - 여기서 주의 할 점은 바로 인덱스 1이 아닌 0부터 시작한다는 것이다. 배열은 for문이나 foreach문을 이용해서 변수를 이용하는 경우에 비해 코드를 훨씬 간결하게 만들 수 있습니다. - 프로그램에 변경 사항이 생겼을 때 배열을 이용한 쪽이 코드 관리가 훨씬 용이함 배열을 초기화하는 세 가지 방법 첫 번째 방법 : 배열의 원소 개수를 명시하고, 그 뒤에 괄호 { }로 .. 2020. 6. 10. 이전 1 ··· 25 26 27 28 29 30 31 ··· 38 다음 반응형