떼 르미 의 『 IT , 그리고 세상 』 : : C # 소개 및 개요 
 C # 소개 및 개요 
 Tech : / . NET · C # 2000 . 07 . 11 11 : 29 
 지난 20 년 동안 C 와 C ++ 는 상용 및 업무 소프트웨어 개발 에 가장 널리 사용 되 었 습니다 . 두 언어 는 모두 프로그래머 가 세밀 한 부분 까지 제어 할 수 있 는 반면 에 이러 한 융통 성 은 생산 성 을 저하 시킵니다 . Microsoft � Visual Basic � 과 같 은 언어 에 비해 C 와 C ++ 를 사용 한 응용 프로그램 개발 은 더 많 은 시간 이 필요 합니다 . C 와 C ++ 는 난해 하 고 개발 에 많 은 시간 이 소요 되 기 때문 에 많 은 C , C ++ 프로그래머 는 성능 과 생산 성 간 의 보다 나 은 균형 을 제공 하 는 언어 를 찾 으려고 노력 해 왔 습니다 . 
 현재 C 와 C ++ 프로그래머 가 요구 하 는 유연 성 을 줄이 고 대신 생산 성 을 높일 수 있 는 언어 들 이 있 습니다 . 이러 한 솔루션 은 개발자 의 범위 를 지나치 게 제한 하 고 ( 예 : 저 수준 코드 제어 메커니즘 삭제 ) 최소한 의 일반 적 인 기능 만 제공 합니다 . 이전 의 시스템 과 쉽 게 호환 되 지 않 으며 현재 의 웹 프로그래밍 에 알맞 지 않 은 부분 도 있 습니다 . 
 C 와 C ++ 프로그래머 에게 이상 적 인 솔루션 은 신속 한 개발 이 가능 하 고 기본 플랫 폼 의 모든 기능 을 액세스 할 수 있 는 성능 이 결합 된 제품 입니다 . 이 들 은 웹 표준 과 완벽 하 게 부합 되 고 기존 의 응용 프로그램 과 쉽 게 통합 할 수 있 는 환경 을 원합니다 . 또한 C 와 C ++ 개발자 는 필요 한 경우 저 수준 으로 코드 를 작성 할 수 있 는 기능 을 선호 합니다 . 
 Microsoft , C # 소개 
 이러 한 문제 에 대한 Microsoft 의 솔루션 은 C # ( " C 샵 " 으로 발음 ) 이 라는 언어 입니다 . C # 은 최신 개체 지향 언어 입니다 . 프로그래머 는 새 Microsoft . NET 플랫폼 에서 실행 되 는 광범위 한 응용 프로그램 을 신속 하 게 작성 할 수 있 습니다 . 이 플랫 폼 은 컴퓨팅 및 통신 을 완벽 하 게 활용 할 수 있 는 도구 와 서비스 를 제공 합니다 . 
 C # 은 최신 개체 지향 설계 를 통해 고 수준 업무 개체 부터 시스템 수준 응용 프로그램 까지 광범위 한 구성 요소 를 작성 할 수 있 습니다 . 모든 플랫 폼 의 모든 언어 에서 간단 한 C # 언어 작성 을 통해 구성 요소 를 인터넷 에서 실행 되 는 웹 서비스 로 변환 할 수 있 습니다 . 
 특히 C # 은 C 와 C ++ 의 장점 인 성능 과 세밀 한 제어 기능 을 희생 하 지 않 고 신속 한 개발 이 가능 하 도록 설계 되 었 습니다 . 이러 한 설계 에 따라 C # 은 C 와 C ++ 의 기능 을 거의 가지 고 있 습니다 . C 와 C ++ 언어 에 익숙 한 개발자 는 C # 을 쉽 게 사용 할 수 있 습니다 . 
 생산 성 및 안전성 
 새로운 웹 경제 로 인해 이전 보다 더욱 신속 하 게 경쟁력 을 갖추 어야 하 는 업무 환경 에 직면 하 게 되 었 습니다 . 개발자 는 프로그램 의 개발 주기 를 단축 하 고 버전 을 지속 적 으로 업데이트 해야 합니다 . 
 C # 은 이러 한 상황 을 염두 에 두 고 설계 되 었 습니다 . 이 언어 는 개발자 가 더 적 은 코드 를 사용 하 여 더 적 은 오류 가 발생 하 는 프로그램 을 개발 할 수 있 도록 지원 합니다 . 
 웹 프로그래밍 표준 준 수 
 새로운 응용 프로그램 개발 모델 은 더 많 은 솔루션 에서 HTML ( Hypertext Markup Language ) , XML ( Extensible Markup Language ) , SOAP ( Simple Object Access Protocol ) 등 과 같 은 웹 표준 을 사용 하 도록 요구 하 고 있 습니다 . 기존 의 개발 도구 는 인터넷 과 웹 이 출현 하 기 이전 이나 초창기 에 개발 되 었 습니다 . 따라서 새로운 웹 기술 에 적합 하 지 않 은 부분 들 이 있 습니다 . 
 C # 프로그래머 는 Microsoft . NET 플랫폼 에서 응용 프로그램 을 작성 할 경우 광범위 한 프레임워크 를 활용 할 수 있 습니다 . C # 은 모든 플랫 폼 의 모든 언어 에서 구성 요소 를 인터넷 에서 실행 되 는 웹 서비스 로 변환 할 수 있 는 내장 지원 도구 를 포함 하 고 있 습니다 . 
 또한 웹 서비스 프레임워크 는 기존 의 웹 서비스 가 프로그래머 에게 고유 C # 개체 와 동일 하 게 보이 도록 만들 수 있 으므로 개발자 가 기존 의 웹 서비스 에 개체 지향 프로그래밍 기법 을 활용 할 수 있 습니다 . 
 C # 을 훌륭 한 인터넷 프로그래밍 도구 로 만드 는 몇 가지 특징 들 이 있 습니다 . 예 를 들 어 , XML 은 인터넷 을 통해 구조 화 된 데이터 를 전달 하 는 표준 방식 으로 등장 했 습니다 . 이러 한 데이터 집합 은 대개 매우 작 습니다 . 성능 개선 을 위해 C # 은 XML 데이터 를 클래스 대신 직접 struct 데이터 형식 으로 매핑 할 수 있 습니다 . 이 방법 은 작 은 데이터 를 다루 는 데 효과 적 입니다 . 
 손해 가 큰 프로그래밍 오류 제거 
 숙달 된 C ++ 프로그래머 라도 변수 초기 화 를 잊 는 등 의 초보 적 인 실수 를 할 수 있 고 이러 한 간단 한 실수 로 인해 오래 동안 발견 되 지 않 는 예상 치 못한 문제 가 발생 할 수 있 습니다 . 일단 프로그램 이 제품 으로 출시 되 면 아주 간단 한 프로그래밍 오류 라도 수정 하 는 데 비용 이 많이 듭니다 . 
 C # 은 가장 일반 적 인 C ++ 프로그래밍 오류 를 줄일 수 있 도록 설계 되 었 습니다 . 예 를 들 어 , 
 쓰레기 수집 기능 을 통해 프로그래머 가 직접 메모리 를 관리 해야 하 는 부담 을 없애 줍니다 . 
 C # 에서 는 환경 에 따라 변수 가 자동 으로 초기 화 됩니다 . 
 안전 한 형식 의 변수 를 사용 합니다 . 
 따라서 개발자 가 쉽 게 프로그램 을 작성 하 고 관리 할 수 있 으며 복잡 한 업무 문제 를 해결 할 수 있 습니다 . 
 내장 버전 지원 프로그램 을 사용 하 여 개발 비용 절감 
 소프트웨어 구성 요소 의 업데이트 는 주로 오류 를 찾 는 작업 입니다 . 코드 를 수정 할 경우 기존 프로그램 의 내용 이 의도 와 다르 게 변경 될 수 도 있 습니다 . 개발자 가 이 문제 를 해결 할 수 있 도록 지원 하 기 위해 C # 은 버전 지원 도구 를 포함 하 고 있 습니다 . 예 를 들 어 , 메 서 드 재 정의 는 C ++ 나 Java 처럼 우연히 발생 할 수 없 도록 명시 적 이 어야 합니다 . 이렇게 하 면 코딩 오류 를 방지 하 고 버전 을 유연 하 게 보존 할 수 있 습니다 . 관련 기능 으로 인터페이스 와 인터페이스 상속 의 지원 기능 이 있 습니다 . 이러 한 기능 들 을 통해 복잡 한 프레임워크 를 신속 하 게 개발 하 고 업데이트 할 수 있 습니다 . 
 따라서 차기 버전 의 프로젝트 를 개발 하 는 과정 이 더욱 간단 해 지 고 버전 업데이트 에 필요 한 개발 비용 을 줄일 수 있 습니다 . 
 성능 , 기능 및 유연 성 
 업무 프로세스 및 구현 사이 의 뛰어난 매핑 
 기업 에서 업무 계획 을 수립 할 경우 추상 업무 프로세스 와 실제 소프트웨어 구현 사이 의 밀접 한 관련 성 은 필수 적 입니다 . 그러나 대부분 의 언어 는 업무 논리 와 코드 를 연결 하 는 편리 한 방법 을 제공 하 지 못하 고 있 습니다 . 예 를 들 어 , 개발자 는 추상 업무 개체 를 구성 하 는 클래스 를 식별 하 기 위해 대개 코드 주석 을 사용 합니다 . 
 C # 언어 는 모든 개체 에 적용 될 수 있 는 형식 이 지정 된 광범위 한 메타데이터 를 허용 합니다 . 프로젝트 기획 자 는 도메인 별 특성 을 정의 하 고 클래스 나 인터페이스 등 의 모든 언어 요소 에 이 특성 을 적용 할 수 있 습니다 . 그런 다음 개발자 는 프로그램 을 통해 각 요소 의 특성 을 조사 합니다 . 이렇게 하 면 예 를 들 어 , 각 클래스 나 인터페이스 가 특정 한 추상 업무 개체 의 일부 로 올바로 식별 되 는 자동 화 도구 를 작성 하 거나 단순히 개체 의 도메인 별 특성 에 따라 보고서 를 생성 하 는 작업 이 쉬워 집니다 . 사용자 정의 메타데이터 와 프로그램 코드 사이 의 엄격 한 결합 은 의도 한 프로그램 동작 과 실제 구현 사이 의 연결 을 강화 할 수 있 도록 지원 합니다 . 
 엄격 한 형식 검사 환경 은 대부분 의 기업 응용 프로그램 에 적합 합니다 . 그러나 실제로 성능 및 기존 API 와 의 호환 성 때문 에 계속 원시 코드 를 필요 로 하 는 일부 응용 프로그램 이 있 습니다 . 이러 한 시나리오 때문 에 개발자 가 더욱 생산 적 인 개발 환경 을 선호 하 지만 C ++ 를 사용 해야 하 는 경우 도 있 습니다 . 
 C # 은 다음 과 같이 이러 한 문제점 을 해결 합니다 . 
 COM ( Component Object Model ) 과 Windows 기반 API 지원 . 
 고유 포인터 사용 제한 가능 . 
 C # 에서 는 모든 개체 가 자동 으로 COM 개체 가 됩니다 . 개발자 는 더 이상 IUnknown 및 기타 COM 인터페이스 를 명시 적 으로 구현 할 필요 가 없 습니다 . 대신 이러 한 기능 들 이 내장 되 어 있 으므로 C # 프로그램 은 사용 된 언어 에 상관 없이 기존 COM 개체 를 고유 하 게 사용 할 수 있 습니다 . 
 기존 COM 개체 가 필요 한 개발자 를 위해 C # 은 프로그램 에서 모든 고유 API 를 호출 할 수 있 는 특별 한 기능 을 포함 하 고 있 습니다 . 개발자 는 특정 표시 가 있 는 코드 블록 에서 메모리 직접 관리 나 포인터 계산 과 같 은 이전 의 C / C ++ 기능 들 을 사용 할 수 있 습니다 . 이 기능 은 서로 다른 환경 에서 많 은 장점 을 가지 고 있 습니다 . 즉 , C # 프로그래머 는 기존 의 C 와 C ++ 코드 를 다시 사용 할 수 있 습니다 . 
 COM 지원 및 고유 API 액세스 기능 의 목적 은 모두 개발자 가 필요 로 하 는 성능 을 제공 하 고 C # 환경 을 벗어나 지 않 고 프로그램 을 개발 할 수 있 도록 하 는 것 입니다 . 
 C # 은 Microsoft . NET 플랫폼 에서 실행 되 는 솔루션 을 신속 하 고 편리 하 게 개발 할 수 있 는 최신 개체 지향 언어 입니다 . 제공 되 는 프레임워크 를 통해 모든 플랫 폼 의 모든 언어 에서 C # 구성 요소 를 인터넷 에서 실행 되 는 웹 서비스 로 만들 수 있 습니다 . 
 C # 은 개발자 의 생산 성 을 높여 주 고 개발 비용 증가 의 원인 이 되 는 프로그래밍 오류 를 줄일 수 있 습니다 . C # 은 C 와 C ++ 프로그래머 가 요구 하 는 성능 과 유연 성 을 제공 하 면서 신속 한 웹 개발 이 가능 합니다 . 
 최종 수정 일 2000 년 7 월 11 일 
 웹 서비스 사용 시 공식 네임 스페이스 ( 0 ) 
 유용 한 Regular Expression ( 0 ) 
 . NET Enterprise Service 에 사용 되 는 도구 들 ( 0 ) 
 . NET 성능 향상 팁 ( 영어 원문 ) ( 0 ) 
 . NET 성능 향상 팁 ( 0 ) 
 C # 소개 및 개요 ( 0 ) 
 이전 1 · · · 1526 1527 1528 1529 1530 다음