SOLID Principle SOLID 원칙이란, 객체지향 프로그래밍에서 소프트웨어 디자인을 위한 5가지 지켜야 하는 원칙이다. 이 원칙을 통해 소프트웨어의 유연성, 확장성, 유지보수성을 향상한다. 1. 단일 책임 원칙 (Single Responsibility Principle : SRP) 하나의 클래스는 하나의 책임만 가진다. 단일 책임 원칙은 하나의 클래스는 하나의 기능만을 책임지는 것이다. 클래스 하나가 다수의 기능을 구현하는 것은 단일 책임 원칙에 위배된다. 이는 캐릭터에 움직임, 사운드, 애니메이션 등을 하나의 클래스가 모두 통재하는 현상이다. 그렇다면 단일 책임 원칙을 준수하면 어떤 이점이 있을까? 단일 책임 원칙의 이점 이점 설명 가독성 증가 단일 기능 단위로 분리된 코드는 가독성이 늘어난다..
박싱과 언박싱 (Boxing & Unboxing) 박싱과 언박싱은 메모리 영역을 공부하면 알게되는 기법으로 값 형식의 데이터를 참조 형식으로 변환하는 과정을 박싱, 그 반대를 언박싱이라 한다. 박싱 (Boxing) 이해하기 쉽게 말하면, C#은 모든 객체의 최상단에 object가 있다. 즉, 모든 자료형은 object로 변환될 수 있다. 이러한 상황에서 int형 변수를 object로 바꾸어 보면 박싱이 되는 것이다. 박싱 (Boxing) int value = 42; // 값 타입 변수를 선언하고 초기화 object boxedValue = value; // 값 타입을 참조 타입으로 박싱하여 저장 주의할 점은 단순히 스택에서 힙으로 값을 복사하는 것이 박싱이 아니다. 클래스 객체를 new로 만들어 힙영역에 ..
메모리 풀링 (Memory pooling) 풀링이라는 단어 자체를 외우는 편이 좋다. 풀링은 특정 목적의 객체를 미리 특정 크기 혹은 갯수만큼 미리 생성/할당하고 필요에 따라 사용할 수 있도록 제공하고 사용이 끝나면 회수하여 다시 사용할 수 있도록 대비하는 것이다. (사용과 회수 과정에서는 필요에 따라 초기화 단계가 추가될 수 있다.) 대표적인 예로는 게임을 제작에 최적화를 위해 자주 사용되는 오브젝트 풀링 기법이나 게임 서버에서 자주 사용되는 IOCP가 있다. 목적 메모리 할당 및 해제는 많은 비용이 발생한다. 이는 메모리 단편화(fragmentation) 현상을 초래하여 성능저하에 큰 원인이 되기에 이러한 과정을 최소화할 수 있는 풀링 기법들이 다양한 부분에서 만들어졌다. 메모리풀링 기법들은 미리 만..
처리기 (Processor) 처리기는 컴퓨터 시스템에서 주요한 계산 및 제어 기능을 담당하는 하드웨어 구성 요소이다. 주로 중앙처리장치(Central Processing Unit, CPU)라고 불린다. GPU(Graphics Processing Unit)나 DSP(Digital Signal Processor)와 같은 처리 장치들도 프로세서라고 명칭할 수 있다. 처리기들은 때로는 운영체제에 의해 관리되기도 한다. 운영체제는 이 처리기들이 실행할 다음 작업에 대한 정보를 보내고 상태를 감시한다. 프로세서 역할 명칭 설명 명령어 실행 메모리에서 읽어온 명령어를 해독하고 실행하여 프로그램의 동작 제어 데이터 처리 연산 수행 및 데이터 처리 제어 프로그램 실행 흐름 제어, 분기와 반복 등 제어 흐름 수행 인터럽트..
- Total
- Today
- Yesterday
- dynamic_cast
- 명령어
- malloc
- 클래스
- CPU
- 입출력
- thread
- 스레드
- 구조
- 프로세스
- 레지스터
- 백준
- 크기
- 포인터
- 게임수학
- 알고리즘
- static_cast
- 초기화
- 운영체제
- 함수
- 컴파일
- New
- 메모리
- 멀티스레드
- 할당
- 상속
- const
- c++
- 인터럽트
- 수학
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |