(encapsulation)
리 떤 보 떤 념 많 . 러 보 는 능 묶는 런 . 를 들 대 리는 들 , , 번, 들 보를 며 들 능 , 변, 목 들 능들 . 러 보 보 리 , 능들 모 므 는 리 묶는 러 . 들 묶는 (encapsulation) .
램 미는 램 문를 데 들 부들 , 는 덩리 문 대 는 는 데 .
램 미는 램 문를 데 들 부들 , 는 덩리 문 대 는 는 데 .
(inheritance)
는 념 리 는 념 램 리 . 떤 , 는 더 는데 subtype subclass .
밍 " " 를 모 부 는 미 는 를 바 만 는 방 미. 는 를 subclass 바 는 를 superclass . 면 들 는 , 데 들 복 는 뿐 , superclass 만 면 subclass들 변 동 받 므 매 리.
밍 " " 를 모 부 는 미 는 를 바 만 는 방 미. 는 를 subclass 바 는 를 superclass . 면 들 는 , 데 들 복 는 뿐 , superclass 만 면 subclass들 변 동 받 므 매 리.
(Polymorphism)
램 볼 러 목 는 (Polymorphism) 들 . 란, 복 메 대 는 방 는 능 말. , 들 ㅌ 를 메 대 른 방 메를 는 미. 를 들, 러 (file)들 린 는 를 보. 는 (text file), 문 만 멧 (format file), 는 (file with graphics) 등 러 . 들 들 린 는 방 모 르, 는 럼 , Print는 를 맞 .
~cpp Text file -> Print(); Formatted file -> Print(); File with graphics -> Print();
들 모 Print는 메를 며, 맞 린 . 듯 를 러 맞 리 메 .
보 (infomation hiding)
보 란 목 대 보를 부 는 미. , 리는 데 리 들 부 못 내부 들만 . 논문 념 는 바 는 보 리를 밍 문.
보 부 는 보를 public interface 부 들 Interface를 보를 . , Public Interface를 "무 . 보는 ." 부 는 .
Public Interface는 따 른데, C++는 "public"란 문 "public"란 들 목들만 부 . Effel란 는 "export"는 란 목들만 부 . POINT는 를 보면 move setcolor 들 부 는 public interface . move setcolor는 들 부 보 불리 는 들는 며 는 리 보는 는 . 부 보는 부 signature 며 signature는 , 매변(input parameter) 매변(output parameter) .
볼 보 내부 데 변더 변 들 는는 . , 떤 변 를 배(array) 리(list) 바더 램 른 부 미 는. 떤 리 바더 signature만 바 면 부 들 는. 를 들, sorting sequence sorting 리 quick sorting 리 바뀔 부 떤 는. 러 보 (maintainability) (extendability) .
보 부 는 보를 public interface 부 들 Interface를 보를 . , Public Interface를 "무 . 보는 ." 부 는 .
Public Interface는 따 른데, C++는 "public"란 문 "public"란 들 목들만 부 . Effel란 는 "export"는 란 목들만 부 . POINT는 를 보면 move setcolor 들 부 는 public interface . move setcolor는 들 부 보 불리 는 들는 며 는 리 보는 는 . 부 보는 부 signature 며 signature는 , 매변(input parameter) 매변(output parameter) .
볼 보 내부 데 변더 변 들 는는 . , 떤 변 를 배(array) 리(list) 바더 램 른 부 미 는. 떤 리 바더 signature만 바 면 부 들 는. 를 들, sorting sequence sorting 리 quick sorting 리 바뀔 부 떤 는. 러 보 (maintainability) (extendability) .
(Abstract Class)
는 (instance)를 만들 낼 목 subclass들 는데, 를 (Abstract class, Virtual class) . 변들 부는 , Signature만 들 . 들 (Abstract function) 부르며, 들 subclass를 목 맞 . subclass 받 모 들 , 를 (Concrete class) 부른. 는 를 만들 낼 .
린 를 보. 모 린들 는 "Printer" 면, 는 린 를 내는 변, 린 등 변 며 는 린 는 Print 등 . 러 린마(Dot matrix printer, Laser printer, Ink jet printer) 린 는 방 르므 는 Print는 를 . 만, 는 Print Signature만 며, 러 subclass 린 맞 면 .
"Printer"는 는 떤 린 능 , dot matrix printer laser printer 등 들 만 므, 를 만는 무미. 는 방(Incremental Development) 며, (attribute) 및 므 문를 모델링는데 리 더.
린 를 보. 모 린들 는 "Printer" 면, 는 린 를 내는 변, 린 등 변 며 는 린 는 Print 등 . 러 린마(Dot matrix printer, Laser printer, Ink jet printer) 린 는 방 르므 는 Print는 를 . 만, 는 Print Signature만 며, 러 subclass 린 맞 면 .
"Printer"는 는 떤 린 능 , dot matrix printer laser printer 등 들 만 므, 를 만는 무미. 는 방(Incremental Development) 며, (attribute) 및 므 문를 모델링는데 리 더.