클래스 설계는 타입 설계와 같다. 새로운 타입을 정의하기 전에 몇 가지 고려사항을 점검해 보자. 클래스 설계는 타입 설계 여느 객체 지향 프로그래밍 언어처럼, C++에서 새로운 클래스를 정의한다는 것은 새로운 타입을 정의하는 것과 같다. C++ 개발을 한다는 것은 타입을 새로 만드는 일과 같으며 함수와 연산자를 오버로드하고, 메모리 할당 및 해제를 제어하며, 객체 초기화 및 종료처리를 정의하는 작업 모두 관리해 주어야 한다. 좋은 클래스를 설계하는 것은 꽤 어렵다. 문법이 자연스럽고, 의미구조가 직관적이며, 효율적인 구현이 가능해야 한다. 성능 또한 무시할 수 없는 부분이다. 다음은 좋은 클래스를 설계하기 위해 고려해 볼 사항 몇 가지이다. 새로 정의한 타입의 객체 생성 및 소멸은 어떻게 이루어져야 하는..
클래스

테스트 실행 package.json의 script를 보면 테스트용 스크립트가 있다. npm run start:dev 위의 스크립트를 이용하여 서버를 켜보자. 잘 동작한다. 기본 구조 NestJS에는 main.ts가 무조건 있어야 한다. 내용을 살펴보자. import { NestFactory } from '@nestjs/core'; import { AppModule } from './app.module'; async function bootstrap() { const app = await NestFactory.create(AppModule); await app.listen(3000); } bootstrap(); function의 이름은 마음에 드는 걸로 지정해도 상관없다. async, await 구조를 볼..

클래스와 객체 - 객체: 데이터와 이를 처리하기 위한 메서드의 묶음 - 클래스: 객체를 만드는 형틀 혹은 포멧 클래스로부터 만들어지는 객체를 그 클래스의 인스턴스(instance)라 한다. 클래스 정의하기 class라는 키워드로 시작하고 __init__( )라는 생성자 메서드를 가진다. 객체 생성 클래스 이름으로 호출하면 객체가 생성된다. 프라이빗 멤버와 퍼블릭 멤버 클래스 안에서는 크게 두 가지 멤버가 존재한다. 하나는 클래스 안에서만 접근 가능한 프라이빗 멤버, 다른 하나는 클래스 안과 밖에서 모두 접근 가능한 퍼블릭 멤버 멤버 앞에 __키워드를 붙이면 프라이빗 멤버가 된다. 클래스 멤버 클래스의 메서드 밖에서 선언한 변수로 해당 클래스에서 관리하는 멤버이다. 클래스 이름으로 접근해야 하며 객체로 접..