따..딱히 공부하려고 포스팅하는 건 아니니까..!
1) OCP : 확장에 대해서는 열려있고, 변경에 대해서는 닫혀있어야 한다 (인터페이스를 이용하여 변경되지 않는 부분을 분리)2) SRP : 하나의 클래스는 하나의 책임만 가져야 한다(높은 응집도) 3) ISP : 클라이언트에서 사용하지 않는 메서드는 사용해선 안된다. 여러개의 인터페이스로 분리하는게 나을수도 있다 4) DIP : 클래스간의 의존관계는 추상클래스나 인터페이스에 의한 의존이어야 한다 5) LSP : 자식클래스는 부모클래스의 자리에 대체될 수 있어야 한다
C#은 전역 메소드와 변수를 지원하지 않음 C++은 헤더파일, C#은 메타데이터 C#은 지역변수를 초기화하지 않으면 사용못함 C#은 가비지 수집 언어 C#의 as는 C++의 static_cast와 같음 C++은 bool형은 정수였지만 C#의 bool은 아예 새로운 형으로 정의됨C#의 Array는 메모리공간이 아닌 객체가 됨, array.Length이 그 증거이다 (C++ STL vs C# Generic)list, vector -> ArrayListmap -> Hashtable, DictionaryPair -> KeyValuePairC#에서 이러한 자료구조들은 Collection을 인클루드 해야함 C#에서는 템플릿 대신 제너릭 사용 private, public, protected 구분이 엄격해짐 new은 ..
가상 메모리(페이징 파일)은 물리적인 메모리 공간(RAM)외에 하드 디스크에 파일 형태로 따로 준비하는 가상의 메모리 공간이다. 한마디로, 부족한 시스템 메모리를 보조해주는 역할을 하는 메모리 공간이다. 사용되지 않는 내용들을 하드 디스크의 페이징 파일(가상메모리)로 옮겨 실제 메모리에 여유 공간을 확보한다. (실제 메모리와 가상 메모리 사이에서 데이터를 스왑) 자세한 내용은 직접 정리하는 것보다 더 좋은 글이 있어서 링크를 걸어둡니다 http://egloos.zum.com/sweeper/v/2988689