본문 바로가기
728x90
반응형

분류 전체보기301

C++ 생성자 멤버 변수의 초기화 클래스를 가지고 객체를 생성하면, 해당 객체는 메모리에 즉시 생성된다. 이 객체는 모든 멤버 변수를 초기화하기 전에는 사용할 수 없다. 객체의 멤버 변수는 사용자나 프로그램이 일반적인 초기화 방식으로 초기화 할 수 없다. 그 이유는, 객체의 멤버 중에는 private 멤버도 있으므로, 이러한 private 멤버에 직접 접근할 수 없기 때문이다. 따라서 private 멤버에 접근 할 수 있는 초기화만을 위한 public 함수가 필요하다. 이러한 초기화 함수는 객체가 생성된 후부터 사용되기 전까지 반드시 멤버의 초기화를 위해 호출되어야 한다. 객체의 생성과 동시에 멤버 변수를 초기화해주는 생성자(constructor)라는 멤버 함수를 제공한다. 클래스 생성자의 이름은 해당 클래스의.. 2019. 5. 4.
C++ 클래스 선언 클래스란, 객체 지향 프로그래밍의 특징 중 하나인 추상화(abstraction)를 사용자 정의 타입으로 구현한 것이다. c++에서 이러한 클래스를 선언하는 방법은 구조체를 선언하는 방법과 거의 같다. 구조체는 struct 키워드를 사용하지만, 클래스는 class 키워드와 접근 제어 지시자를 함께 사용한다. 접근 제어 지시자는 객체 지향 프로그래밍의 특징 중 하나인 정보 은닉(data hiding)을 위한 키워드이다. 정보 은닉(data hiding) c++에서 구조체의 모든 멤버는 외부에서 언제나 접근 할 수 있다. 하지만, 클래스는 객체지향 프로그래밍의 기본 규칙 중 하나인 정보 은닉에 대해서도 생각해야한다. 정보 은닉이란 사용자가 굳이 알 필요가 없는 정보는 사용자로부터 숨겨야 한다는 개.. 2019. 5. 4.
C++ 함수 오버로딩 ( function overloading) 디폴트 인수가 인수의 개수를 달리하여 같은 함수를 호출하는 것이라면, 함수 오버로딩은 같은 이름의 함수를 중복하여 정의하는 것을 의미한다. 객체 지향 프로그래밍의 특징 중 바로 다형성(polymorphism)의 구현이다. 1. void Display(const char* str, int n); // 문자열 str을 n번 출력함. 2. void Display(const char* str1, const char* str2); // 문자열 str1과 str2를 연달아 출력함. 3. void Display(int x, int y); // x * y를 출력함. 4. void Display(double x, double y); // x / y를 출력함. 함수.. 2019. 5. 4.
C++ C++ 특징 객체 지향 프로그래밍 언어이다. 일반화 프로그래밍 언어이다. 네임스페이스(namespace) C++프로그램을 작성할 때 발생하는 이름에 대한 충돌을 방지해 주는 방법을 제공한다. 네임스페이슨 C언어에는 없는 C++만의 새로운 기능이다. 삼항 연산자(ternary operator) 문법 조건식 ? 반환값1 : 반환값2 ?앞의 조건식에 따라 결과값이 참이면 반환값1을 반환하고, 결과값이 거짓이면 반환값2를 반환한다. 포인터란? C++에서 포인터(pointer)란 메모리의 주소값을 저장하는 변수이며, 포인터 변수라고도 부른다. 포인터 연산자 주소 연산자(&) 변수의 이름 앞에 사용하며, 해당 변수의 주소값을 반환한다. '&' 기호는 앰퍼샌드(ampersand)라고 읽으며, 번지 연산자라고도 부른다.. 2019. 5. 4.
Async/Await 비동기 처리를 할 수 있는 방법 Callback Promise Async/Await Async aysnc 함수의 리턴값은 promise 이다. function myFunc(){ return 'func'; } async function myAsync(){ return 'async'; } console.log(myFunc()); console.log(myAsync()); 결과는 func Promise {: "async"} async function myAsync(){ return 'async'; } myAsync().them((result) => { console.log(result); }); 결과는 async 즉, promise는 비동기 연산을 다루되, 비동기 연산이 끝나면 resolve하고 resolve.. 2019. 5. 4.
this 자바스크립트에서 함수의 this 키워드는 다른 언어들과 비교하여 조금 다르게 동작한다. 자바스크립트의 this는 누가 실행했냐 이다. 대부분의 경우, this의 값은 함수를 호출하는 방법에 의해 결정된다. ES5는 함수의 this 값이 함수가 어떻게 호출되었는지 개의치 않고 설정할 수 있는 bind 메소드를 소개했다. var someone = { name : 'doromi', whoAmI : function(){ console.log(this); } }; someone.whoAmI(); 이 코드의 결과는 {name : "doromi", whoAmI : f} whoAmI를 직접적으로 호출한 객체는 someone이다. var someone = { name : 'doromi', whoAmI : function.. 2019. 5. 4.
var vs let var : 함수 단위 fuction x(){ { var t=1; } console.log(t); } x(); //1이 출력된다. t는 x라는 함수 scope 안에 들어간다. let : 중괄호 단위 변수를 싸고 있는 가장 가까운 중괄호의 scope를 가진다. function x(){ { let t = 1; } console.log(t); } x(); // t is not defined ..... t는 중괄호 안에서만 존재한다. 2019. 5. 4.
728x90
반응형