[Effective C#] 개발 지침 50 [ C# 언어 요소 ] 1. 데이터 멤버 대신에 항상 프로퍼티를 사용하라. → 프로퍼티는 캡슐화 되어 있는 곳끼리 접근제한자 public 데이터 멤버와 같이 접근하는 것을 가능하게 해준다. 하지만 프로퍼티 사용을 더욱 권장하는 이유는 실제로 닷넷 프레임워크에서 데이터 바인딩을 지원하는 클래스들은 일반.. IT_Programming/C# 2007.01.19
이벤트와 델리게이트 출처 : www.hoonsbara.com 오늘은 델리게이트와 이벤트에 대해 설명해보도록 하겠다. 이벤트(Event) 필자가 아는 선배 중 한 분의 어릴적 꿈이 로봇 만화영화에 자주 등장하는 “김박사”였다고 한다. 그래서, 그 선배는 어릴적 어머니께 “엄마, 나는 커서 김박사 될래~”라고 말하곤 했다고 한다. 그럴때마.. IT_Programming/C# 2006.07.27
static static을 붙인 변수와 메소드는 메모리에 고정이 되어있습니다. 그렇지 않은 경우에는 한번 쓰고 난 값은 사라지게 됩니다. 밑에 예제를 보겠습니다. -------------------------------------------------------------------------------- log.cs (로그인에 관한 클래스 파일) --------------------------------------------------------------------------.. IT_Programming/C# 2006.04.07
throw문 Throw문은 프로그래머가 에러 조건에서 예외를 직접 던질 때사용한다. Exception Message프로퍼티를 열어보면 예외에 대한 정보를 얻을 수 있는데, throw문을 이용하면 직접 예외에 대한 정보를 입력하여 만들 수 있다. throw(문장); ==================================================================== using System; public class MainApp .. IT_Programming/C# 2006.02.27
System Exception Message: string형 프로퍼티이다. 예외가 발생한 원인에 대한 설명을 담고 있다. innerException: 예외는 자신이 새로운 예외를 던질 수 있다. catch블록에서 예외를 잡을 때는 새롭게 던져진 예외를 잡게 되는데 innerException 프로퍼티를 사용하면 근원적인 예외에 대한 정보를 얻을 수 있다. 자신이 다른 예외에 .. IT_Programming/C# 2006.02.27
예외처리 try { /* 이곳에서 프로그램의 정상적인 실행을 시도하다가 실패하면 예외를 만든다. */ } catch { // try블록에서 던져진 예외를 이곳에서 실패에 대한 처리를 한다. } finally { // 반드시 실행되어야 하고, 안전한 코드를 배치하는 형식으로 사용하면 된다. } ====================================================================.. IT_Programming/C# 2006.02.27
프로퍼티 접근제한자 자료형 프로퍼티명 { get { return 반환값; } set { 멤버변수 = value; } } 클래스는 자료는 감추고 필요한 메소드만 노출 시킨다는 원칙에 의해 설계되므로 자료의 값을 변경하거나 얻어오고 싶을 때는 set/get메소드를 이용한다. ["()"가 없다.] 여기서 주의할 점은 set메소드만이 value이다. 이것은 어.. IT_Programming/C# 2006.02.27
배열 자료형[] 배열이름 1. 배열을 사용하면 같은 종류의 데이터가 여러개 있을 경우나 데이터의 집합을 관리해야 할 경유 등에 보다 관리하게 작얼을 할 수 있다. 2. 배열은 선언과 동시에 초기화할 수 있다. 초기화 하지 않으면 배열의 모든 요소는 int와 같은 수치 자료형의 경우엔 0으로, string의 경우에는 n.. IT_Programming/C# 2006.02.27
as 연산자 as연산자도 is연산자와 비슷한 역할을 한다. 문장 as 비교할 자료형 as가 is와 다른 점은 형 검사를 한 후 true면 좌 항의 객체에 형 변환한 결과를 반환하고, false라면 null을 반환한다. ============================================================================= [ex] using System; interface Imammal { void walk(); } class Cat : Imammal { public.. IT_Programming/C# 2006.02.27
Is 연산자 문장 is 비교할 자료형 왼쪽 문장이 is의 오른쪽에 있는 자료형과 호환가능한지를 알아보고 참인지 거짓인지를 반환한다. is 연산자는 형 변환을 시행하기 전에 두 타입이 호환가능한지를 질의하여 결과를 얻어낸다. 클래스는 자신의 조상과 형 변환이 가능한데, 이때 먼저 is를 사용해 조상이 확실한지.. IT_Programming/C# 2006.02.27