C++의 큰 특징 중 하나로 참조형을 들 수 있다. 이것은 C와도 다르고 자바와도 다른 상당히 독창적인 기능을 제공한다. 참조형은 객체의 매개변수 전달이나 반환형 등에서 강력한 기능을 제공하여 C++의 세련된 코드를 가능하게 한다. 먼저 참조형이 무엇인지 살펴보자. 참조형이란 포인터와 비슷하게 뭔가를 가리키는 변수를 선언할 수 있게 해준다. 자바의 객체 참조 변수와 비슷한데 C++의 참조형은 포인터가 그렇듯이 기본 타입도 가리킬 수 있다. 또한 그 변수에 할당된 공간을 바로 가리켜서 자바와는 다른 용법으로 사용된다. int a; int& aRef = a; int* aptr = &a; aptr와 같이 aRef는 a에 할당된 공간을 가리킨다. 그렇지만 초기화할 때 aRef는 a 그 자체를 참조하는 것처럼 지..
생성자란 메소드라기 보다는 객체의 생성과 초기화를 담당하는 특별한 기능이라고 볼 수 있다. 사실 생성자가 필요한 이유는 프로그램에서 변수를 초기화하는 것의 중요성에서 출발한다. 초기화되지 않은 필드는 프로그램이 오류를 일으키는 가장 중요한 원인 중 하나이다. 또한 그 오류는 테스트를 통해 검출되지 않는 오류로 유명하다. 그래서 객체지향프로그래밍에서는 생성자라고 하는 특별한 방법을 이용하여 객체를 만들고 나서 값을 반드시 초기화하도록 언어를 설계했다. 생성자는 메소드와 비슷하게 생겼지만 이름이 클래스 이름과 같고 반환형이 없다. 예를 들어 다음의 학생 클래스 생성자는 매개변수로 받은 값으로 필드를 초기화하고 있다. public Student(int id, String n, int y) { this.id =..
- Total
- Today
- Yesterday
- python exercise
- follow
- contains
- zip
- rust
- CompareTo
- TypeError
- 이터레이터
- contentEquals
- max
- 동적바인딩
- 콜렉션
- C++ 클래스
- APPEND
- indexof
- 스트링 +
- format
- sort key
- 지연계산
- Iterator
- Lazy evaluation
- typedef
- 이터러블
- 패턴
- 스트링
- ToString
- python example
- comparable
- Camel Style
- 자바regex
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |