본문 바로가기

IT/C#

(13)
C# 003 (컬랙션, 싱글톤) - 데이터 컬렉션- String API 복습다형성다형성은 많은 부분에서 적용이 됨어제는 형광등을 통해 예제를 함형광등, 백열등이렇게 있었지만, 공통된 분모를 뽑아내 전구라는 새로운 부모클래스를 만듬.앞으로 LED나 어떤 비슷한 기능이 있는 클래스가 오더라도 전구라는 부모 클래스를 상속 받을 수 있음 다른 workshop문제로 비행기, 배, 자동차를 예시로 했음요구사항이 이름별로 오름차순을 하라고 함그래서 vehicle이라는 인터페이스를 만들어서 모두 한 클래스로 합침 다형성은 프레임워크에도 많이 쓰이는데, 프로그래밍을 하다보면 많이 사용하는 부분이 있음 그구분을 슬롯처럼 만들어 그 안에 내용만 우리가 넣으면 됨 컬랙션(Collection)이란?: 컬렉션은 객체를 저장할 수 있는 데이터 구조입니다. 상황에..
C# 002 - 상속 - 다형성 - 추상클래스 - 인터페이스 - 프로퍼티 - 컬렉션 API, 객체 컬렉션- Winform Out에 의한 참조- ref와 유사하지만, 변수에 어떤값이 초기화 되어 있지 않아도 사용 가능(어차피 메서드 호출에 의해서 초기화 될 것으로 기대) 빈그릇을 받아서 채운다는 개념 * ref vs outref는 컵에 물을 채워서 바꿔줘라면 out은 빈컵을 내밀고 채워줘하는 것 확장 메서드- 어떤 클래스에 대해서 추가적인 기능(메서드)를 삽입해 주는 특별한 형태의 static 메서드확장메서드는 스테틱으로하기this 쓰기 캡슐화- 은행에서 금고가 있음 로또를 당첨받아 40억을 동네 금고에 들어가 다 넣음 은행 금고에 있는 돈은 다 내꺼지만 그걸 내가 은행 금고에 직접 들어가 돈을 꺼내오면 그것은 절도범..
사전 과제 C# 1. 실행파일이 만들어지는 전통적인 컴파일러 방식에 비해 닷넷 프레임워크 환경이 제공하는 장점을 설명하시오.닷넷의 장점1. 닷넷의 가장 큰 장점은 플랫폼에 독립적인 응용 프로그램을 만들 수 있다는 것이다. 플랫폼 독립성은 중간 코드와 JIT 컴파일러에 의해 구현된다. 닷넷이 필요해진 이유이기도 하다. 소프트웨어를 딱 한 번만 작성해서 수정 없이 어디에서나 실행된다는 것은 정말 큰 매력이다. 2. 언어 상호 운용이 가능하다. CLS를 만족하고 관리 코드를 생성해 낼 수 있다면 어떤 언어로도 닷넷 응용 프로그램을 개발할 수 있다. 오로지 자바 언어만 인정하는 자바와는 비교되는 부분이다. 언어 상호 운용성은 언어 독립성보다는 한단계 더 상위의 개념으로서 이기종의 언어끼리 교차 호출, 교차 상속, 교차 디버깅까..
[C#] Virtual(가상) vs Abstract(추상) vs Interface(인터페이스) http://hongjinhyeon.tistory.com/93출저: http://hongjinhyeon.tistory.com/93 OOP개념에서 상속을 이야기할 때 Virtual이나 Abstract 한정자가 사용이됩니다.두개를 사용하면서 헷갈리는 점을 정리했습니다. 또한 Interface와 비슷한 기능을 제공하는데같이 비교해보겠습니다. 1.Virtual ( 가상 키워드 ) virtual 키워드는 메서드,속성, 인덱서 또는 이벤트 선언을 한정하는데 사용됩니다.파생 클래스에서 필요에 따라서 재정의(override) 할 수 있지만 필수적으로 재정의 할 필요는 없습니다.Virtual 한정자를 사용한 클래스는 완벽한 기능을 제공할 수 있습니다. 123456789101112131415161718public clas..
001 C# 이란? C#?"C#(시 샤프)는 마이크로소프트에서 개발한 객체 지향 프로그래밍 언어로, 닷넷 프레임워크의 한 부분으로 만들었으며 나중에 ECMA (ECMA-334)와 ISO (ISO/IEC/23270)의 표준으로 자리잡았다. C++와 자바와 비슷한 문법을 가지고 있다." C- 메모리 관리, 포인터 연산, 구조적 언어 C++ - OOP(캡슐화(Encapsulation), 상속(Inheritance), 다형성(Polymorphism))의 특징을 가지게 됨but C의 메모리 관리, 포인터 연산의 단점을 벗어나지 못함 Java- C++의 문법적 번거러움 제거- 100% 순수 Java응용프로그램 개발 가능- 모든 요구에 대응하는 단일한 프로그래밍 언어 를 목표- 그래픽, 연산중심의 응용프로그램에는 C++ 같은 lower..