1. 오버라이딩의 개념 함수 오버라이딩(function overriding) - 파생 클래스에서 기본 클래스의 가상 함수와 동일한 이름의 함수 선언한다. - 기본 클래스의 가상 함수의 존재감 상실한다. - 파생 클래스에서 오버라이딩한 함수가 호출되도록 동적 바인딩한다. - 함수 재정의라고도 부른다. - 다형성의 한 종류 2. 가상함수, 추상클래스의 예 가상 함수(virtual function) - virtual 키워드로 선언된 멤버 함수 - virtual 키워드는 동적 바인딩 지시어이다. - 컴파일러에게 함수에 대한 호출 바인딩을 실행 시간까지 미루도록 지시한다. - 오버라이딩, 함수 중복을 할 떄 사용 된다. 순수 가상 함수 - 함수의 코드가 없고 선언만 있는 가상 멤버 함수 - 순수 가상함수가 있는 ..
함수중복 •함수중복 –동일한이름의 함수가 공존 •다형성 •C 언어에서는 불가능 –함수중복이 가능한 범위 •보통 함수들 사이 •클래스의 멤버함수들 사이 •상속관계에 있는 기본클래스와 파생클래스의 멤버함수들 사이 •함수 중복 조건 –중복된함수들의 이름동일 –중복된함수들의 매개변수타입이다르거나 개수가달라야함 –리턴타입은 함수중복과 무관 *사용 형식 void function(int a, int b, int c = 10, int d= 20){ // 함수 구현할 때 매개변수에 바로 초기화 해주면 호출시 이 값으로 매개변수값이 전달된다. ..... } int main(){ function(1,2); // c와 d는 10과 20으로 전달된다. => a = 1, b =2 , c = 10, d = 20 return 0; ..
1.함수의 인자 전달방법과 차이점 (1) 값에 의한 호출(call by value) –함수가 호출되면 매개 변수가 스택에 생성된다. –호출하는 코드에서 '값'을 넘겨준다. –호출하는 코드에서 넘어온 값이 매개 변수에 '복사'된다. – (2) 주소에 의한 호출(call by address) - 함수의 매개 변수는 포인터 타입으로 선언 - 함수가 호출되면 포인터 타입의 매개 변수가 스택에 생성된다. - 호출하는 코드에서 넘어온 '주소' 값이 매개 변수에 저장된다. (3) 참조에 의한 호출(call by reference) - 참조 변수는 이미 선언된 변수에 대한 별명이다. - 참조자(&)를 이용하여 선언하며, 선언 시 반드시 원본 변수로 초기화를 하여야 한다. - 참조 변수 선언은 이름만 생성하는 것이다. ..
this 포인터 - 객체 자기 자신을 가르키는 포인터 string 클래스를 이용한 문자열 - c++ string 클래스의 객체 - 헤더파일을 import 한다. - 다양한 문자열 연산을 다루는 연산자와 멤버 함수를 가지고 있다. - 문자열, 스트링, 문자열 객체, string 객체 등 혼용한다. string 문자열 함수 예제 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 #include #incl..
객체 포인터 - 객체에 대한 포인터이다. - C언어의 포인터가 값의 주소값을 저장하듯, C++의 객체 포인터는 객체의 주소값을 가진다. - '포인터'로 멤버에 접근 할 때, p -> 멤버 형식으로 접근한다. 객체포인터 선언 예. 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 31 32 33 34 35 #include #include using namespace std; class Circle { int radius; public: Circle() { radius=1;} Circle(int r) {radius=r;} double getArea(); }; double Circle::getArea() { retu..
캡슐화의 목적 - 객체 보호, 보안 - C++에서 객체의 캡슐화 전략 - 객체의 상태를 나타내는 데이터 멤버(멤버 변수)에 대한 보호 - 중요한 멤버는 다른 클래스나 객체에서 접근할 수 없도록 보호 - 외부와의 인터페이스를 위해서 일부 멤버는 외부에 접근 허용 * 멤버에 대한 3가지 접근 지정자 - private : 동일한 클래스의 멤버 함수에만 접근 가능 - public : 모든 다른 클래스간 접근 가능 - protected : 클래스 자신과 자기 자식에게만 접근 가능 *중복 접근 지정과 디폴트 접근 지정 - 접근 지정은 중복해서 지정 가능하다. class Sample { private: //private 멤버 선언 public: // public 멤버 선언 private: // private 멤버 선..
4. 기본 생성자 삽입 예제 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 31 32 33 34 35 36 37 38 39 40 41 #include #include #include using namespace std; class Circle { public: int radius; double getArea(); Circle(); Circle(int r); }; Circle::Circle() { radius = 10; cout
3.1 객체에 대한 이해 * 클래스 - 객체를 만들어내기 위해 정의된 설계도, 틀 - 멤버 변수와 멤버 함수 선언 * 객체 - 객체는 생성될 때 클래스의 모양을 그대로 가지고 탄생 - 멤버 변수와 멤버 함수로 구성 - 메모리에 생성, 인스턴스(instance)라고 부르기도 함. - 하나의 클래스 틀에서 찍어낸 여러 개의 객체 생성 가능 - 객체들의 상호 별도의 공간에 생성 3.2 클래스 만들기 - class 키워드 이용. - 일반적으로 클래스 선언부와 클래스 구현부로 나누어 작성된다. - 클래스 선언부에는 class 키워드로 클래스의 모양을 선언. - 클래스 구현부는 클래스의 멤버 함수들을 구현한다. * 선언부 형식 class Circle { public: // 멤버에 대한 접근 지정자 int radiu..
- Total
- Today
- Yesterday
- 파이썬 if문
- css 박스
- 백준 1874
- 파이썬 예제
- 파이썬 리스트
- 파이썬 함수
- 버츄어박스
- 자바스크립트 자료구조
- 파이썬
- 파이썬 문자열
- 파이썬 연산자
- 명품 c++ 실습
- 백준
- 웹
- 파이썬 클래스
- 자바 에센셜 실습문제
- 파이썬 단계적 개선
- 자바스크립트 그래프
- 파이썬 객체
- 백준 10451
- css 그리드
- 파이썬 터틀
- 백준 11501
- 파이썬 진수 변환
- 파이썬 선택문
- 파이썬 while
- 자바
- 자료구조
- 파이썬 for
- css
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |