목록분류 전체보기 (766)
치춘짱베리굿나이스
CPP 04 Subtype polymorphism, abstract classes, interfaces 서브타입 다형성, 추상 클래스, 인터페이스 서브타입 다형성 포함 다형성이라고도 한다 상위 클래스의 메서드를 하위 클래스가 상속받은 뒤 다른 동작을 하게끔 재정의하여 사용하는 방법이며, 오버라이딩 (Overriding) 이라고도 한다 과제에서는 Animal 클래스를 상속받은 Dog, Cat 클래스가 각기 다른 소리를 내도록 오버라이딩하는 과정이 들어있다 가상 함수 (virtual function) [C++] 가상함수(virtual) 사용법 총정리 코딩교육 티씨피스쿨 부모 클래스의 멤버 함수 중, 파생 클래스에서 재정의할 것을 기대하는 함수이다 기대 라는 단어가 뭔가 요상하기도 한데, 부모 클래스에서 이 ..
Inheritance 상속 함수 선언 뒤에 const 의미 C++ 함수 뒤에 const - dydtjr1128's Blog void foo(void) const; 이 함수 (foo) 내에서는 어떠한 변수도 바꿀 수 없다는 뜻 클래스의 멤버 변수도 바꿀 수 없고 다른 변수도 수정할 수 없으며 const 함수를 제외한 어떠한 함수도 호출할 수 없다 void foo() vs void foo(void) Is it better to use C void arguments "void foo(void)" or not "void foo()"? void foo(void) 이 함수에는 필요한 인자가 없다는 뜻이다 void foo() C++에서는 void foo(void) 와 같은 의미를 갖지만, C에서는 ‘임의의 인자를 몇..

Ad-hoc polymorphism, operator overloading and Orthodox Canonical class form 임시 다형성, 연산자 오버로딩과 캐노니컬 클래스 임시다형성? 자바스크립트에서의 객체지향 (1) 객체지향 기본 자바스크립트에서의 객체지향 (1) 객체지향 기본 객체지향 올 것이 왔다 자바스크립트 프로그래밍을 하면서 그 편의성 때문에 클래스를 종종 이용하는데, 물론 잘 알고 쓰는 것은 아니다 심지어 자바스크립트의 클래스는 정석적인 클래스도.. blog.chichoon.com 예전에 정리했던 객체지향 글 복붙 (자스 기준이긴 하지만…) 여기서 임시 다형성이란 ‘같은 이름을 가진 함수가 타입에 따라 다르게 행동할 수 있는 성질' 이라고 정리했었다 오버로딩이 그 예이자 임시다형성..
CPP01 Memory allocation, pointers to members, references, switch statement 메모리 할당, 멤버 포인터, 참조, switch 구문 string.npos 의미 C++ - std::string::npos (npos의 의미) size_type 값으로, string.find() 메서드와 함께 사용된다 문자열을 찾지 못했을 경우 npos가 반환된다 no position 이라는 뜻이 아닐까 참조와 포인터 차이 참조 원본 변수와 같은 값을 가리키며, 원본 변수에 변동이 있을 경우 참조의 값도 변한다 따로 메모리 공간을 할당하여 저장하지 않으므로, 원본 변수와 같은 주소를 갖는다 선언과 동시에 초기화하지 않으면 오류가 난다 한번 초기화한 값은 재할당할 수 없다 ..
DBMS 설명 Database Management System 데이터베이스 관리 시스템으로, 데이터의 집합을 만들고 저장 및 관리를 도와주는 툴이다 DBMS를 통해 데이터베이스를 효율적으로 관리할 수 있고, 응용 프로그램들이 쿼리문을 통해 데이터베이스에 접근할 수 있게 된다 DBMS의 종류에 따라 ANSI SQL에 추가 문법들이 더해지거나 기능이 더해져 데이터베이스를 조금 더 구체적으로 다룰 수 있기도 한다 관계형 데이터베이스에서 가장 많이 사용되는 DBMS는 오라클에서 만든 Oracle Database이고, MySQL, Microsoft SQL, PostgreSQL 등도 많이 사용된다 특징이 조금씩 다르기 때문에 사용하기 전에 구체적으로 알아보는 것이 좋겠다 장단점 장점 데이터를 보기좋게 보여준다 CL..

SQL 설명 Structured Query Language (구조적 질의 언어) 데이터베이스 상에서 자료를 처리하고, 데이터베이스에 자료를 넣거나 뺄 때, 조건에 맞는 자료 등을 가져올 때 등에 사용되는 쿼리 언어이다 표준 SQL은 ANSI SQL이 정립되어 있으며, 아래에서 설명할 DBMS에서는 이 ANSI SQL을 기본으로 지원하기 때문에 어떠한 DBMS를 선택하든 ANSI SQL을 사용하지 못하는 일은 없다 명령어의 역할에 따라 DDL, DML, DCL로 구분된다 용어 Column (컬럼) 테이블에서의 세로줄 하나하나를 컬럼이라고 한다 하나의 컬럼에는 같은 형식, 같은 필드명의 데이터들이 들어온다 JSON 으로 치면 key에 해당한다 칼럼명 = 필드명 이라고 생각하자 Row 여러 컬럼을 가진 하나의..

Express로 간단한 서버 만들기 Express - Node.js 웹 애플리케이션 프레임워크 Express - Node.js 웹 애플리케이션 프레임워크 Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워크 $ npm install express --save expressjs.com 프론트엔드 지망이라고 평생 안써볼 줄 알았지? 하하 맞아라 익스프레스 빔 이걸 쓸 날이 이렇게 빠르게 올 줄은 몰랐다 간단한 웹서버를 만들어야 할 일이 있어서 바로바로 삽질도 기록할 겸 이렇게 노션을 켰다 (물론 업로드되는 곳은 티스토리지만,,) 설치 $> npm install express $> yarn install express npm 링크 express express Fast, unopinionated, mini..

콜 스택 (호출 스택) 개념 프로그램이 함수 호출을 추적할 때 사용한다 현재 어떤 함수가 동작하고 있는지, 그 함수 내에서 어떤 함수가 동작하는지, 다음에는 어떤 함수를 동작하여야 하는지 등을 제어한다 스택의 LIFO (후입선출) 특성을 생각하면 호출 스택도 비슷한 원리로 동작함을 알 수 있다 메모리 구조에서 스택이 의미하는 것이 바로 이 콜 스택이다 힙이랑 다른 점 스택은 액세스가 빠르고, 힙은 상대적으로 느리다 힙은 사용자가 직접 변수 할당 및 해제를 관리해줘야 하지만, 스택은 관리할 필요가 없다 (CPU가 알아서 관리해줌) 힙은 메모리 단편화가 일어날 수 있지만, 스택은 그렇지 않다 스택 내의 변수는 해당 스코프 내에서만 접근할 수 있지만, 힙 내의 변수는 (주소값만 알고 있다면) 전역적으로 접근 ..