본문 바로가기

전체 글

(10)
Call by value, Call by address, Call by reference Call-By-Value 값에 의한 호출 함수로 값을 전달하면 원본이 아닌 복사본이 전달된다. 그렇기 때문에 원본 값은 바뀌지 않는다. Call-By-Address 주소에 의한 호출 값에 의한 호출과는 다르게 포인터를 사용하여 값의 주소를 가르켜 원본 값을 바꿀 수 있다. Call-By-Reference 참조에 의한 호출 주소에 의한 호출과 마찬가지로 원본 값을 바꿀 수 있지만 작동 방식에서 차이가 있다. 주소에 의한 호출처럼 포인터를 사용하는 것이 아닌 할당된 하나의 메모리 공간에 이름을 붙이는 것이다. 쉽게 말해서 별명을 붙인다고 생각하면 된다. 이렇게 변수에 별명을 붙이면 변수와 동일한 값과 주소를 갖는다. 참조 변수는 이미 선언된 변수에 대한 별명으로, 참조자(&)를 이용하여 선언한다. 선언 시 ..
상속, 다형성, 가상 함수 다형성 다형성이란 하나의 클래스 내부의 멤버 함수나 클래스가 있을 때 이것들이 다양한 방법으로 동작하는 것을 의미한다. 가상 함수 파생 클래스에서 재정의할 것으로 기대하는 멤버 함수 상속 자식 클래스가 부모 클래스의 기능을 받아 쓰는 것
C,C++,C# C언어 C언어는 47년 전에 만들어졌다. C는 자바, 자바스크립트, 파이썬, PHP, GO와 같은 언어들에게 영향을 미쳤다. C는 중요한 프로그래밍 언어로 평가받고 있다. C언어가 만들어진 47년 전에는 컴퓨터가 지금처럼 빠르지 않았다. 그래서 리소스가 많이 없는 기계에서 작동하 때 유용하고 하드웨어와 매우 밀접하게 작동한다. C로 만들어진 것 - 화성탐사선(화성에 착륙해서 지면의 사진을 찍고, 그 사진을 다시 NASA로 보내는 역할을 했다. 250만줄의 C언어로 작성되었다.) 해당 탐사선의 메모리가 충분하지 않고 프로세싱 파워도 약해 가능한 공간을 적게 쓰고 빠른 언어가 필요했다. > C언어 C++ C와 매우 유사하지만 C와 다르게 class를 가진다. C++를 만든 사람은 C++가 C의 superse..
힙 영역과 스택 영역 힙 영역 메모리의 힙 영역은 사용자가 직접 관리할 수 있는 메모리 영역이다. 사용자에 의해 메모리 공간이 동적을로 할당되고 헤제된다. 힙 영역은 메모리의 낮은 주소에서 높은 주소 방향으로 할당된다. 스택 영역 지역 변수와 매개 변수가 저장되는 영역이다. 스택 영역은 함수의 호출과 함께 할당되며 함수의 호출이 완료되면 소멸한다. 함수가 호출되면 스택에는 함수의 매개 변수, 함수가 끝난 뒤 돌아갈 반환 주소값, 함수에서 선언된 지역 변수 등이 저장된다. 스택 프레임 스택 프레임 : 스택 영역에 차례대로 저장되는 함수의 호출 정보 스택 프레임의 동작 방식 후입선출(LIFO, Last-In First-Out) 가장 나중에 저장된 데이터가 가장 먼저 인출되는 방식 스택 오버플로우 (Stack Overflow) 스..
백그라운드와 타일 넣기 백그라운드 Backgrounds를 우클릭하여 Create Background를 누른다. 스프라이트와 같이 Load Background를 사용하여 그림을 불러오거나, Edit background를 사용하여 직접 제작이 가능하다. 그림을 불러온 뒤 OK를 누른다. 이제는 room에 적용하기만 하면 끝난다. room에서 background탭을 들어간다. 위의 사진처럼 아이콘을 누른 후 자신이 설정한 백그라운드를 선택한다. No background는 게임을 실행 했을 때 회색의 바탕으로 나온다. 여기까지 하면 거의 다 끝났지만 아직 중요한게 남았다. 백그라운드를 처음 만들 때, 이 창에서 이미지의 크기를 확인할 수 있다. 이 이미지의 크기는 512*304이다. 만약 룸의 크기를 이보다 크게 설정하거나 작게 설정..
위임 생성자 위임 생성자(delegating constructor), 생성자가 다른 생성자 호출 한 클래스의 생성자들에는 대개 객체를 초기화하는 비슷한 코드가 중복된다. Circle::Circle() { radius = 1; std::cout
스프라이트, 오브젝트, 룸 생성 스프라이트, 오브젝트, 룸 생성 스프라이트 생성하기 Sprites라는 글씨를 좌클릭 한 뒤 Create Sprites를 클릭하거나 초록색 팩맨같이 생긴 아이콘을 클릭하면 이런 창이 뜬다 여기서 Load Sprite를 통해 원하는 이미지를 가져오거나 Edit Sprite를 통해 직접 그릴 수 있다. 이 창에서 이미지를 여러개 열어서 애니메이션을 만드는 것도 가능하다. 그리고 스프라이트를 수정하려면 image0를 눌러 수정할 수 있다. 이렇게 여러가지 도구를 통해 이미지를 수정할 수 있다. 이미지 수정이 끝난 뒤에는 OK버튼을 눌러 스프라이트를 완성시킨다. 오브젝트 생성하기 Objects를 좌클릭 후 Create Object를 클릭하거나 초록색 원 모양의 아이콘을 클릭한다. Sprite를 통해 오브젝트의 스..
클래스와 생성자 C++ 클래스와 C++ 객체 C++에서 클래스란 객체를 정의하는 틀 혹은 설계또로서, 클래스에 맴버 변수와 멤버 함수를 선언한다. 클래스와 객체 관계는 붕어빵 틀과 붕어빵의 관계와 비슷하다. 붕어빵 틀은 C++ 클래스에, 붕어빵은 C++ 객체에 비유된다. C++ 객체는 C++ 클래스라는 틀에서 찍어내며, 멤버 변수 메모리와 멤버 함수 코드를 실제 가지고 C++ 프로그램이 실행되는 동안 실존하는 실체 혹은 인스턴스(instance)이다. 클래스는 컴파일이 끝나면 사라지지만, 프로그램은 실행중에 객체를 생성하여 멤버 변수에 값을 저장하기도 하고 멤버 함수 코드를 실행하기도 한다. 클래스 만들기 C++에서는 class 키워드를 이용하여 클래스를 선언한다. C++ 클래스는 C 언어의 구조체(struct)와 같이..