전체 글 썸네일형 리스트형 [C++]상수 함수 1. 상수 함수의 기본 개념 C++ 에서는 멤버 함수뒤에 const를 붙일수가 있습니다. 일명 상수 함수라고 부르는 문법입니다. 상수함수안 에서는 모든 멤버를 상수 취급합니다. 즉, 멤버 data의 값을 읽을 수는 있지만 변경할 수는 없습니다. 아래 코드를 보세요 왜, 이런 상수 함수가 필요 할까요 ? 많은 책에서는 "안정성 때문에 사용한다" 라고 이야기 하지만 상수 함수가 꼭 필요한 경우가 있습니다. 2. 상수 객체와 멤버 함수 객체를 생성할 때 상수로 만들수가 있습니다. 다음의 경우를 생각해 보도록 하겠습니다. 당연히 A는 상수 객체의 값을 변경하려고 하고 있으므로 에러가 발생합니다. B는 어떨까요 ? 멤버 Data를 직접 접근하는 것이 아니라 Set()이라는 함수를 호출하고 있습니다. 이 경우 Se.. 더보기 [C] call by value와 call by reference call by value : 값의 복사에 의한 함수 호출 #include void main() { int val1 = 10, val2 = 20; int swap(int, int); swap(val1, val2); printf("val1 : %d\n", val1); printf("val2 : %d\n", val2); } int swap(int a, int b) { int temp = a; a=b; b=temp; printf("a : %d\n", a); printf("b : %d\n", b); return 0; } a : 20 b : 10 val1 : 10 val2 : 20 swap함수가 끝났음에도 불구하고 val값은 변하지 않았다. 변수 a와 b에 복사해서 보냈기 때문에 val값은 변하지.. 더보기 [C++]객체지향 프로그램의 4대 특징 1. 추상화(abstraction) 객체들의 공통적인 특징을 뽑아내는 것이다. 즉, 우리가 구현하는 객체들이 가진 공통적인 데이터와 기능을 도출해 내는 것을 의미한다. 즉, "공통의 속성이나 기능을 묶어 이름을 붙이는 것" -> 클래스를 정의하는 과정이 추상화 과정이라고 할 수 있다. 2. 캡슐화(encapsulation) 데이터 구조와 데이터를 다루는 방법을 결합시켜 묶는 것을 말한다. 특정 객체가 독립적으로 역할을 제대로 수행가기 위해 필요한 데이터와 기능을 하나로 묶어 관리한다. 객체가 맡은 역할을 수행하기 위한 하나의 목적을 위해 데이터와 기능을 묶는 것이다. 다른 의미로도 쓰이는데 즉, 데이터는 은닉하고 그 데이터를 접근하는 기능을 밖으로 노출한다는 의미를 나타낼 때 캡슐화라는 용어를 쓴다. -.. 더보기 이전 1 ··· 33 34 35 36 37 38 다음