본문 바로가기

전체 글

const와 pointer 오늘 살펴볼 내용은 간단하지만 종종 헷갈리는 'const' keyword이다. 사실 'const'에 대해서 알고있다고 생각했지만, 이번에 회사 프로젝트를 하면서 'const' 사용에 있어 실수가 있었다. 안다고 생각하는 것과, 실제로 아는 것은 역시 차이가 있다. const에 대해 살펴보기 전에, c언어에서 '변수(variable)'의 개념을 먼저 살펴보자. 흔히 변수를 '변하는 수' 라고 생각을 하지만 컴퓨터 세계에서 '변수'란 근본적으로 말하면 '수를 저장할 수 있는 메모리 공간'을 의미한다. 123456789#include int main(){ int a = 10; //변수 return 0;} cs 5번째 줄, int a = 10 을 다음과 같이 두 단계로 생각할 수 있다. 1. int(정수) 값을.. 더보기
SOLID원칙 SOLID원칙이란 객체지향(Object Oriented Programming)에서 꼭 지켜야 할 5개의 원칙을 말한다. 5개의 원칙 앞 글자를 따서 SOLID라고 부른다. 1. Single Responsibility Principle (SRP, 단일 책임 원칙) Responsibility는 ‘reason to change’로 변경되어야 할 이유를 뜻한다. 즉, 어떤 class가 변경되어야 하는 이유는 오직 하나뿐이어야 한다는 원칙이다. 나무위키에 나와있는 예)사칙연산 기능을 하는 계산 클래스가 있다. 현재 상태의 계산 클래스는 오직 사칙연산 기능만을 책임진다. 이 클래스가 변경(수정)될만한 사유는 사칙연산 함수와 관련 된 문제 뿐이다. 단일 책임 원칙을 지켰기에 클래스의 목적이 명확해졌고, 그에따라 구조.. 더보기
Visual studio 디버깅 하는법 오늘은 이전에 설치한 visual studio에서 디버깅 하는 방법에 대해서 알아보자.(아직 visual studio 설치를 하지 않았다면 http://computersource.tistory.com/54) 디버깅(Debugging)이란 컴퓨터 프로그램의 잘못을 찾아내고 고치는 작업이다. 위의 뜻에 보다시피 debugging은 "벌레를 없애는 것" 이라고 해석을 할 수 있겠다.그렇다면, "벌레 = 프로그램의 오류" 라는 말인데, 어디서 이런 유래가 생겨나게 되었을까? punch card(천공카드) 사진, 출처(위키피디아) 예전에는 위 사진과 같은 카드에 구멍을 뚫어서 데이터 값을 표현하고(구멍이 있다면 on/ 없다면 off식으로 binary값을 표현), 그 card를 컴퓨터 프로그램에 전달하는 식으로 컴.. 더보기