C#?
"C#(시 샤프)는 마이크로소프트에서 개발한 객체 지향 프로그래밍 언어로, 닷넷 프레임워크의 한 부분으로 만들었으며 나중에 ECMA (ECMA-334)와 ISO (ISO/IEC/23270)의 표준으로 자리잡았다. C++와 자바와 비슷한 문법을 가지고 있다."
C
- 메모리 관리, 포인터 연산, 구조적 언어
C++
- OOP(캡슐화(Encapsulation), 상속(Inheritance), 다형성(Polymorphism))의 특징을 가지게 됨
but C의 메모리 관리, 포인터 연산의 단점을 벗어나지 못함
Java
- C++의 문법적 번거러움 제거
- 100% 순수 Java응용프로그램 개발 가능
- 모든 요구에 대응하는 단일한 프로그래밍 언어 를 목표
- 그래픽, 연산중심의 응용프로그램에는 C++ 같은 lower Level의 언어 사용이 더 나음
- Package
.NET
"지금 이 순간부터 모든 것을 바꾸자"
특징
- CLR(Common Language Runtime) 공용 언어 런타임
: 프로그래머를 대신해서 .NET 형식(type)들의 위치를 지정하고 이 형식들을 로드하고 관리하는 것
메모리 관리, 언어 통합, 형식 안정성 보장 등 하위 레벨의 다양한 세부사항 처리
- CTS(Common Type System) 고용 형식 시스템
: 모든 데이터 형식과 런타임에 지원되는 프로그래밍 구조가 완전하게 기술되어 있고, 이 항목들이 어떻게 상호작용하고, .NET 메타 데이터 포멧에는 어떻게 나타나는지 정의
- CLS(Common Language Specification) 공용 언어 사양
: .NET 프로그래밍 언어가 호응할 수 있는 프로그래밍 구조와 공용 형식들을 정의한 일련의 규약
- 포인터 x
- 자동 메모리관리
- 열거형(enumeration), 구조체(Structure), 클래스 속성(Class Property)도 공식 문법 구조에 포함된다.
- C++에서와 같이 사용자 지정 형식 연산자를 쉽게 오버러드 할 수 있다.
- 인터페이스 기반 프로그래밍 기술 완벽 지원
- 어트리뷰트를 이용한 aspect 기반 프로그래밍 기법 완벽 지원
'IT > C#' 카테고리의 다른 글
C# 004 (0) | 2017.03.23 |
---|---|
C# 003 (컬랙션, 싱글톤) (0) | 2017.03.22 |
C# 002 (0) | 2017.03.21 |
사전 과제 C# (0) | 2017.03.15 |
[C#] Virtual(가상) vs Abstract(추상) vs Interface(인터페이스) (0) | 2017.03.08 |