분류 전체보기330 2장. 객체지향 설계 - 목표와 원리, 그리고 패턴 객체지향 프로그래밍의 주요 행위자는 객체이다. 객체는 클래스에서 나오며, 클래스는 객체가 실행할 수 있는 멤버함수와 데이터 멤버의 명세이다. 각 클래스는 외부세계에서 객체 내부의 너무 불필요한 상세를 알게 하거나 객체 내부의 동작들에 대한 다른 접근을 제공하지 않고, 이 클래스들의 인스턴스인 객체들의 간결하며 일관성 있는 관점만을 제공한다. 소프트웨어 구현에서는 견고성, 적응성, 재활용성을 달성해야 한다. 견고성 유능한 프로그래머는 정확한 소프트웨어를 개발하길 원한다 정확하다는 것은 예상되는 모든 입력에 올바른 출력을 만들어낸다는 것 정의되지 않은 예상치 못한 입력 값도 취급할 수 있어야 한다. 적응성 소프트웨어들은 시간이 지남에 따라 주위 환경의 조건들과 변화에 맞춰 발전할 필요가 있다. 소프트웨어의 .. 2022. 9. 5. 1-4. Stack Frame esp를 이용한 함수인자 접근 방식의 문제점 함수 내에서 스택을 사용할 수 없다. 함수에서 push로 인자를 넣을 경우 esp의 offset이 변경되기 때문 .model flat public _asm_main .code _asm_main: push 2 push 1 call _func add esp, 8 ret _func: mov eax, dword ptr [esp + 4] // _func에서 push를 할 경우, esp가 변경되므로 [esp + 8]이 된다 add eax, dword ptr [esp + 8] // _func에서 push를 할 경우, esp가 변경되므로 [esp + 12]이 된다 ret end 스택 프레임 그래서 레지스터 하나를 사용해 돌아갈 주소를 가리키도록 해놓음 (EBP 레지스터) E.. 2022. 9. 4. 1주차-0. 기초 개념 : 개념 강의 시간복잡도 문제를 해결하는데 걸리는 시간과 입력의 함수 관계 for (int i = 0; i 3 -> 4 -> 5 -> ... 누적합 : 0 -> 1 -> 3 -> 6 -> 10 -> 15-> ... 이렇게 저장해두면 누적합[3] 요소가 원본[0~3]까지 더한 수가 된다 따라서 누적합을 사용하려면 이전 것(i-1)과 현재 것(i)을 저장해야 하므로 인덱스는 1부터 시작하는 것이 좋다. prefixSum[i] = original[i-1] + original[i]; 0부터 시작할 경우 original[i-1] 이 부분이 -1이 되기 때문 1주차에서 중요.. 2022. 9. 4. 1-3. Calling Convention 본 글은 코드누리의 Windows Programming 강좌를 개인 학습 목적으로 정리한 글 입니다. https://www.ecourse.co.kr/ 2022. 9. 3. 이전 1 ··· 78 79 80 81 82 83 다음