C++의 new, delete로 객체 동적 생성하기// - new, delete 메모리 관리, 객체 포인터와 객체의 동적 생성// 내가 원할 때 만들고, 내가 원할 때 지운다.// 지금까지 경우에는 인스턴스를 만들면 스택(Stack) 메모리에 만들어진다.// 단점: 함수(main)가 끝나거나 중괄호 } 가 닫히면 자동으로 사라진다.// 예시: 메이플스토리에서 보스가 소환 됐는데, 함수가 끝났다고 보스가 사라지면 안된다. 캐릭터가 죽일 때까지 살아있어야 한다.// 해결: 힙(Heap) 메모리에 직접 만들면 된다. (C의 malloc의 C++버전)// - 스택과 힙의 특징// 스택메모리는 함수의 실행을 위해 최적화된 공간이다. 가장 큰 특징은 자동 반납이다. 함수가 실행될 때 메모리 공간을 빌리고, 함수가 ..
분류 전체보기
C++의 클래스 상속(Inheritance)를 배우다.// 상속(Inheritance)// 모든 직업은 캐릭터라는 공통점이 있음// 부모 클래스로 모든 직업의 공톰점을 정의하고, 자식 클래스로 각 직업의 특징을 정의함// class 자식 : public 부모 {...}#include #include using namespace std;// 부모 클래스class Character {// protected로 자식 클래스가 접근 가능하게protected: string name; int hp; int mp;public: Character(string n, int h, int m) { name = n; hp = h; mp = m; cout = 10) { mp -= 10; cout >> " = 10)..
C++ 클래스(class), private, public#include #include using namespace std;// 1. 전사 클래스 설계class Warrior {private: string name; int hp; int mp; int str;public: Warrior(string n, int s) { name = n; hp = 200; mp = 100; str = s; cout = 15) { mp -= 15; cout = 20) { mp -= 20; cout 150) { mp = 100; } }};int main() { // 객체 생성 인스턴스화 Warrior w("임휘훈", 50); Magician m("너넨힐없다", 80); cout 1. 클래스 (c..
C++ 공부하기 11. 입/출력 (std::cin, std::cout)#include // Input/Output Stream// 출력: std::cout >int main(void) { int level = 250; // C 스타일: printf("Level: %d\n", level); std::cout > level; // scanf("%d", &level); std::cout 입력: std::cin >> {변수명}출력: std::cout 출력할 때 서로 다른 타입을 함께 출력해야 하는 상황이라면 std::endl는 줄 바꿈이다. 입력은 >> 로 변수에 값을 넣는다고 생각하면 편하고, 출력은 out으로 값을 내보낸다고 생각하면 외우기 편하다.std::의 의미는 표준(Standard) 라이브러..
JAVA의 Class에 대해 배우다.ClassJAVA는 file을 Class 단위로 생성한다. .java 파일은 1개의 Class와 매칭. Class는 객체의 설계 도면이다. 즉 객체는 Class로 만든다. 객체를 Class라고 그냥 대충 말하는 경우가 있는데, 엄밀히 말하면 다른 개념이다. Class로 만들어진 객체를 인스턴스라고 한다. 하나의 Class가 여러 개의 인스턴스를 만들어서 사용할 수 있다. 1. Class 작성2. 객체 생성3. 인스턴스 사용 Class는 표기법이 Pascal 표기법이다. Pascal 표기법은 첫 글자가 항상 대문자이다. Class의 구성요소1. Field (변수)2. Constructor (생성자 함수)3. Method (함수) Constructor (생성자 함수)생성자..
함수의 기능을 하는 method를 배우다./* * ■ Method (함수) * - 반복적으로 동작하는 작업들을 함수로 생성하고 호출 * - 카멜 표기법 사용 * - main(): 가장 먼저 실행! * * (전체 다 통으로 쓰기 지필평가 외우기!) * ■ Method 문법 * 접근 제한자 | [지정어] | 반환타입 | 메소드명 | (매개변수) { * public static void 카멜표기법 기본자료형 변수명 * protected final 기본자료형 객체자료형 객체참조변수 * [default] abstract 객체자료형 * private * * ..
코드의 접근 범위를 설정하는 접근 제한자를 배우다.접근 제한자프로젝트 내에서 코드의 접근을 제한 or 허용 범위를 설정한다. 변수, 함수, 클래스 앞에서 사용 가능하다.범위는 넓은 순으로 public > protected > [default] > private이다. public과 private을 가장 많이 사용한다. 아무것도 안 쓰면 default이다. 접근 제한자 private를 사용해서 은닉성을 추가할 수 있다. 1. public- 프로젝트 내에 있는 모든 곳에서 사용 가능- 접근 제한을 하지 않는 것과 비슷한 개념- main() 반드시 public 사용! (외부에서 접근하기 위해- 불특정 다수의 접근을 허용해야 하는 경우 public 사용 2. protected- 동일 패키지 내에 있는 모든 곳에서..
Java의 객체 지향 프로그래밍에 대해서 배우다.OOP (객체 지향 프로그래밍)객체지향이란 실세계의 사물을 프로그램으로 표현하기 위한 사고방식이다. 사물이 가진 '속성'과 '행위'를 설정해야 한다. Java에선 Field와 Method라고 한다. 즉, 객체 Class = Field + Method이다. ClassClass는 객체 설계 도면이다. Class는 객체가 아니고 객체를 만들 때 사용하는 어떤 틀?이라고 생각하면 된다.그렇게 생성된 객체를 인스턴스라고한다.new Class(); 는 객체를 생성한다. new는 객체 생성 연산자이다. 객체를 사용하기 위한 3단계1. Class 작성 (설계도 작성)2. 객체 생성 (인스턴스 생성)3. 인스턴스 사용 객체지향 프로그래밍의 장점1. 코드 재사용성 향상2. ..