본문 바로가기

Information-hiding Information-hiding (정보 은닉) 객체 지향 언어에서는 객체는 다른 객체의 내부적인 데이터를 직접 컨트롤하지 않는다. 즉, 내부 데이터를 외부로 노출하지 않는 다는 말이다. (그렇게 구현해야 하고.) 더보기
Encapsulation encapsulation (캡슐화) function ⊂ class 하나의 class에 그의 속성처럼 function들이 줄줄줄 달려 있다.따라서 class 단위로 호출하면 필요 함수들을 중복 할 필요가 없어진다.이것이 캡슐화의 장점!.즉, 라이브러리다. 다만 C(절차지향언어)와 다르게 범위가 더 확장되었다고 생각하면 된다.절차 지향 언어에서는 라이브러리를 함수 단위이지만, 객체 지향 언어에서는 라이브러리가 클래스 단위이다. 더보기
Inline inline (인라인) keyword assembly language의 MECRO와 같은 기능이다. 함수를 호출하게 되면 오버헤드가 발생한다.하지만 인라인을 사용하면 컴파일 시 해당 블럭으로 분기하는 것이 아니라 해당 코드를 호출한 부분에 끼워 넣는다.그럼 분기가 발생하지 않아 오버헤드 역시 발생하지 않는다. 그러나 이것을 사용하면 호출한 부분의 코드가 그만큼 늘어나게 된다. 즉, 여러 번 사용할 경우 호출한 코드는 계속 늘어난다는 것이다. 그럼 나중엔 어마어마한 덩어리가 되겠지... 이럴 땐 그냥 함수 호출이 낫다. Inline ex)#includeusing namespace std; // 정수값을 제곱하는 함수inline double square(double i){ return i *i;} int m.. 더보기