목록C++ (46)
승쨩개발공부
static과 클래스 ->static 변수의 초기화는 전역에서 진행한다. static 변수는 Data 영역에 등록이 된다. -> 프로그램 시작 시 메모리에 등록된다. -> 사용자가 객체를 몇개 만들지 알 수 없는 상황이기 떄문에 -> 컴파일러가 static 변수를 여러개 만들 수 없다. -> 그래서, 단 하나만 메모리에 등록시킨 후 해당 클래스로 만든 모든 객체가 static 변수를 공유한다. static 변수의 초기화 static 변수는 이니셜라이즈를 통해 초기화가 불가능하다. 왜냐하면 static 변수는 프로그램 시작 시 Data영역에 메모리 할당이 되고, 생성자의 호출 시점은 런타임 중 객체를 만드는 시점에 메모리에 등록이 되기 떄문이다. static 변수의 초기화 방법 static 변수는 전역 변..
const와 클래스 const로 멤버 변수 선언 시 선언부에서 바로 초기화가 가능하다. const intm_a = 10; 단, 해당 클래스로 만든 모든 객체가 동일한 값을 가지게 된다. 그러므로 const로 멤버 변수 선언 시 초기화를 시키는 방법은 이니셜라이져를 사용하는 것이다. 이니셜라이져란? 메모리 할당과 동시에 호출되는 것. 메모리 할당과 동시에 호출되기 떄문에 선언과 동시에 멤버 변수 초기화를 할 수 있다. 이니셜라이져 선언 방법 생성자의 선언부와 정의부 사이에 :(콜론)으로 명시해준다. class CObj { public: CObj(int _a, int _b) // 이니셜라이져를 사용한다는 의미 : m_a(_a), m_b(_b) { m_a = _a; } private: const intm_a;..
전방 선언 외부 파일 어딘가에 해당 클래스가 존재한다고 알려주는 역활 다양한 파일들이 만들고 서로 엮는 과정에서 불필요한 파일의 정보까지 가져오는 상황이 발생한다. 이를 해결하기 위해서 전방 선언을 사용하는 것이 좋다. include와 전방 선언의 차이점 include 기존에 존재하는 정보를 확인할 수 있다. -> 옆에 있는 물건 전방 선언 어딘가에 존재한다는 것을 알 수 있지만 상세한 정보를 알 수 없다. -> 어딘가에 있을 물건 전방 선언의 장점 파일의 크기가 작아진다.(컴파일 속도의 향상) 전방 선언 시 주의 사항 1. 존재만 알려준다. 프로그램에서 전방 선언한 것이 존재하는지 검사를 하지 않는다. 오타가 발생할 경우 찾기 힘들다. 2. 존재만 알기 떄문에 객체를 만들 수 없다. 단, 포인터형으로는..
생성자 객체 생성 시 자동으로 호출 되는 것. 사용자가 호출하지 않는다. 함수의 일종으로 인자 타입, 인자 개수에 따른 오버로딩이 가능하다. 클래스의 이름으로 정의된다. 반환 타입이 없다. 객체 생성은 외부에서 진행하기 댸문에 생성자의 멤버 접근 지정자는 public으로 설정한다. 객체는 생성자에 의해 완성된다. 생성자의 주 사용 목적 객체 멤버로 초기화할 값이 있을 경우 사용한다. 생성자로 데이터를 전달하는 방법 C++ 초기화 형식과 동일하다. CObj obj(10, 3.14); 생성자 사용 시 주의사항 1. 객체 생성은 생성자 호출에 의해 완성된다. -> 호출할 생성자가 없을 경우 객체를 만들 수 없다. -> 오버로딩을 이용하여 생성자를 여러개 정의해주어야 한다. 2. 디폴트 생성자 -> 사용자가 생..
절차 지향 프로그래밍 동사구인 '~하다'에 중점을 둔 프로그래밍 함수들이 각기 자신들의 기능을 절차에 의해 호출한다 객체 지향 프로그래밍(OOP) 객체에 중점을 둔 프로그래밍 객체 지향 프로그래밍의 특징 상속을 통한 재 사용성을 보장한다. 유지보수 및 관리가 용이하다. Message Passing 프로그래밍을 구성하는 객체간의 의사소통이다. 의사 소통은 각 객체들이 가지고 있는 함수를 통해 이루어진다. ex) 1. 함수를 통해서 플레이어의 공격력을 얻어온다. 2. 함수를 통해서 몬스터한테 얻어온 공격력만큼 전달해 체력을 감소시킨다. 클래스 C++ 부터 등장한 사용자 정의 자료형이다. 변수와 데이터를 다루는 기능을 하나로 묶어 놓은 것이다. 클래스는 객체들을 추상화시킨 하나의 틀이다. 구조체와 동일하지만 ..
디버깅 코드의 흐름을 사용자가 한줄 한줄 파악하면서 진행할 수 있는 것. 오류 또는 잘못 입력된 데이터를 찾는데 수월하다. 모든 컴파일러 경고는 반드시 고치는 것이 좋다. 디버깅 사용시 주의사항 디버그(debug) 모드일 떄만 사용한다 릴리즈(Release) 모드일 떄는 사용할 수 없다. -> 정상적인 값이라고 확인할 수 없다 디버깅 단축키 F5 : 디버깅 모드 시작/재시작 SHIFT + F5 : 디버깅 모드 종료 F9 : 중단점 설정/해제 Ctrl + SHIFT + F9 : 모든 중단점 해제 F10 : 다음 코드 라인으로 이동 F11 : 다음 수행 라인으로 이동 1. 조건식을 통해서 디버깅을 하는 방법 2. 마우스로 변수를 더블클릭 한 후 끌어다가 조사식에 올려서 값을 확인