본문 바로가기

Programming Languages

(32)
기본 자료형 및 상수와 변수 기본 자료형(fundamental data types)이란 프로그래밍 언어에서 데이터를 표현하기 위한 기본적인 표현 형식이다. C++의 기본 자료형은 고정소수점 표현 방식인 정수형 자료형과 부동소수점 표현방식인 실수형 자료형으로 분류할 수 있다. 정수형 자료형에는 실제로 정수를 표현하기 위한 자료형(short int, int, long int, long long int)과 더불어 비록 숫자는 아니지만 문자를 표현하는 자료형(char), 참 거짓을 표현하는 자료형(bool)이 포함된다. short int, long int, long long int 등은 int를 생략하여 short, long, long long이라고 써도 된다. char형은 문자의 이진수 코드를 저장하므로 내부 표현은 결국 정수와 같은 고..
키워드와 식별자 키워드 프로그램을 작성할 때 사용되는 단어 중에는 C++에서 미리 용도를 정해 놓은 것이 있는데 이러한 단어를 키워드(keyword) 또는 예약어(reserved word)라고 한다. 키워드는 반드시 정해진 용도로만 사용해야 한다. 식별자 프로그램을 만들 때 여러 가지 대상을 구분하기 위해 이름을 만들 필요가 있다. 이러한 이름을 식별자(identifier)라고 한다. 변수나 함수, 클래스 등의 이름이 식별자에 해당된다. 식별자를 만드는 규칙은 다음과 같다. 식별자의 첫 자는 비숫자 문자를 사용할 수 있다. 비 숫자 문자에는 영문 대 소문자, 밑줄 문자('_')가 포함되며, C++11부터 다국어 문자도 포함된다. 이후의 문자는 비숫자 문자와 숫자를 사용할 수 있다. 표준에는 식별자의 길이에 제한은 없다...
C++이란 C++ 언어의 개요 C++는 AT&T 벨 연구소의 비야네 스트롭스트룹이 C언어를 확장하여 만든 객체지향 프로그래밍 언어이다. 따라서 C 언어가 가지고 있는 모든 기능이 C++ 안에 포함되어 있으며, 이와 더불어 몇가지 새로운 내용이 C++에 추가되었다. C 언어는 절차적 프로그래밍 언어이지만, C++는 객체지향 프로그래밍을 지원하기 위한 부분이 포함된 것이다. C++는 C언어를 기반으로 개발된 언어이므로 몇 가지 예외를 제외하고는 C의 문법을 그대로 따른다. 그러므로 C 언어처럼 범용 프로그래밍 언어로서 다양한 응용프로그램을 개발하는 데 활용될 수 있고, 시스템 프로그래밍을 위한 언어로도 활용할 수 있다. 프로그래밍 방식 측면에서도 C++를 이용하여 C언어와 같이 절차적 프로그래밍 방식으로 프로그램을 만..
Callback 콜백을 이해하기 위해선 우선 비동기 처리라는 단어의 뜻을 알 필요가 있다. 자바스크립트에서의 비동기 처리는 코드 진행을 순차적으로 하는 것이 아니라 특정 코드는 코드 진행 순서를 지나가도 종료되지 않고 대기하고 있다가 다른 코드들의 실행이 끝난 뒤 처리가 이루어진다. 비동기 처리가 필요한 이유는 만약 내 블로그에서 글을 작성하면 만 명의 구독자들에게 이메일을 보내고 글 작성을 완료한다는 순서를 가정했을 때 1명당 1초의 시간을 들여 이메일을 보낸다고 하면 약 3시간이 걸린다. 그러면 글을 작성하고 3시간을 기다렸다가 글 작성이 완료되는 셈이다. 이것은 너무 비효율적이다. 자바스크립트에서 함수는 Object이다. 이 때문에 함수는 다른 함수의 인자로도 쓰일 수도 있고 어떤 함수에 리턴이 될 수도 있다. 인..
super class calCul{ constructor(name,first,second){ this.name = name; this.first = first; this.second = second; } sum(){ return `${this.name} : ` + (this.first + this.second); } } let park = new calCul('park',10,20); console.log(park.sum()); 위 코드 내용을 살리고 추가적으로 더 함수 인자를 받거나 메소드를 만들고 싶다면 extends 로 calCul을 상속받아 새로운 class를 작성할 수 있다. class calCul{ constructor(name,first,second){ this.name = name; this.firs..
class class는 객체를 찍어 내는 공장이라고 생각하면 된다. 원래 javascript에서는 class를 지원하지 않았다. 대신에 constructor를 통해 객체를 찍어 내고 있다가 class라는 문법을 도입하였다. 클래스 표현 방법 function calCul(name,first,second){ this.name = name; this.first = first; this.second = second; }; calCul.prototype.sum = function(){ return `${this.name} : ` + (this.first + this.second); }; let park = new calCul('park',10,20); 위 코드를 class 로 다시 정리해 보면 class calCul{ co..
prototype javascript에서 거의 모든 객체는 Object의 인스턴스이다. 일반적인 객체는 Object.prototype 에서 속성과 메소드를 상속받는다. function Food (){} Food.prototype.foodDrop = true; function Fruit (){} Fruit.prototype = new Food(); function Apple (){} Apple.prototype = new Fruit(); var a = new Apple(); console.log(a.foodDrop); 위 코드의 내용을 보면 Food, Fruit, Apple 이라는 3개의 생성자가 정의 되어 있다. 그리고 a 에 Apple이라는 객체를 만들었을 때 a의 foodDrop이라는 프로퍼티에 접근했을때 true라는..
객체지향 프로그래밍 언어(object-oriented programming language) OOP란 객체(object) 개념(클래스(class) 개념)을 정의하고, 객체에 대한 연산(메서드)과 성질(멤버 변수)을 정의하여 프로그램을 작성 하는 언어이다. 구조적인 프로그래밍 언어와 달리 객체 중심의 사고의 틀을 제공한다. OOP의 역사 최초로 클래스 개념을 갖춘 시뮬라 67(Simula 67)은 1960년대 말에 등장했지만 C++, 스몰 톡-80(Smalltalk 80) 등 영향력 있는 객체지향 언어들은 1980년대에 등장해서 현재까지 활발하게 사용되고 있다. 1990년대 중반에 등장한 자바(JAVA)도 현재 가장 대표적인 객체지향 프로그래밍 언어이다. 스크립트 언어인 자바스크립트(Javascript) 또한 객체지향 프로그래밍이 가능하다. OOP를 위한 추상 자료형 프로그래밍 언어에서 추상화라는..