본문 바로가기

분류 전체보기380

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.
c# _7 : 프로퍼티 프로퍼티 프로퍼티 선언 방법 class 클래스명 { 데이터 형식 필드 이름; 접근한정자 데이터형식 프로퍼티이름 { get { return 필드이름; } set { 필드이름 = value; } } } - get{} 과 set{]을 일컬어 접근자(accessor)라고 한다. - get접근자는 필드로부터 값을 읽어오고 set접근자는 필드에 값을 할당합니다. - set접근자는 필드에 값을 할당합니다. 자동 구현 프로퍼티 - 프로퍼티는 데이터의 오염에 대해선 메소드처럼 안전하고, 데이터를 다룰 떄는 필드처럼 간결하다. - 많은 경우에 중복된 코드를 작성하고 있다는 기분이 들게합니다. - 이런 걸 방지하기 위해서 자동 구현 프로퍼티를 작성합니다. - 자동 구현 프로퍼티는 필드를 선언할 필요도 없고, 그저 get과s.. 2020. 6. 10.
C# _6 구조체 [ Structure ] 클래스는 참조 형식이고, 구조체는 값 형식입니다. - 구조체의 인스턴스는 스택에 할당되고 인스턴스가 선언된 블록이 끝나는 지점의 메모리에서 사라집니다. - 인스턴스의 사용이 끝나면 즉시 메모리에서 제거된다는 점과 가비지 콜렉터를 덜 귀찮게 한다는 점에서 구조체는 클 래스에 비해 성능의 이점을 가진다. - 구조체는 값 형식이기 때문에 할당 연산자 = 를 통해 모든 필드가 그대로 복사됩니다. - 구조체는 생성자를 호출할 때가 아니면 굳이 new연산자를 사용하지 않아도 인스턴스를 만들 수 있습니다. - 구조체는 매개변수가 없는 생성자는 선언할 수 없다. - 구조체의 각 필드는 CLR이 기본값으로 초기해주기 때문에 매개변수가 없는 생성자를 선언하지 못하는 문제는 걱정하 지 않아도.. 2020. 6. 9.
C# _ 5 return : 점프문의 한 종류 : 프로그램의 흐름을 갑자기 호출자에게로 돌려놓는다. : 언제든지 메소드 중간에 호출되어 메소드를 종결시키고 프로그램의 흐름을 호출자에게 돌려 준다. ※재귀 호출 : 메소드가 자기 자신을 스스로 호출하는 것을 일컬어 재귀 호출(Recursive Call)이라 한다. 메소드 오버로딩 [ Method Overloading ] : 오버로딩이란 '과적'하다라는 뜻을 가지고 있다. : 메소드 오버로딩은 하나의 메소드 이름에 여러 개의 구현을 올리는 것을 뜻한다. 가변길이 매개 변수 프로그래밍을 하다 보면 똑같은 그저 매개 변수의 "수"가 다르다는 이유만으로 똑같은 메소드를 여러 가지 버전으로 오버로딩하고 싶을 때가 있다. 이런 경우를 대비해 C#은 "가변길이 매개변수"라는 기능을.. 2020. 6. 8.
c# 연습3 사칙연산 중에 곱하기, 나누기 구하기 곱하기는 Multiple(int, int) 이용, 나누기는 Divide(int, int) 이용 1. 첫 번째 입력할 수를 구하기위해 string을 선언 이후 console.readline과 convert.int32()를 통해 읽고, 문자열을 정수형으로 변환할 수 있게 지정 2. 각 각의 Multiple과 Divide의 메소드 작성 후 내부에 계산식을 넣어줍니다. ( 나눗셈은 소수점까지 계산하므로 double을 사용합니다. ) 3. 그리고 나서 메인에 각 메소드에 해당하는 값들을 불러오는 값을 선언해줍니다. A ~ Z 까지 알파벳과 1~100까지 숫자를 표현하는 알고리즘 알파벳은 Alpha() 이용, 숫자는 PrintNum() 이용 1. Alpha 메소드에 for문과 .. 2020. 6. 5.
반응형