티스토리 뷰

객체지향 프로그래밍 (Object-Oriented Programming) : 프로그램을 여러 개의 독립된 단위인 객체로 나누고 이 객체들이 상호작용을 하는 프로그래밍 기법

 

장점

 - 코드 재사용 용이

 - 유지보수 용이

 - 비용 절감

 - 응집력 강화

   -> 클래스에 하나의 문제 해결을 위한 데이터를 모아 놓은 데이터형을 사용

 - 결합력 약화

   -> 클래스 간을 독립적으로 디자인

 - 대형 프로젝트에 적합

 

단점

 - 객체가 많으면 용량이 커짐

 - 공들인 설계 필요

 

특징

 - 추상화(Abstraction)

   -> 객체를 구체화시켜서 설명하는 것

   -> 객체에서 공통된 속성과 행위를 추출

 

 - 캡슐화(Encapsulation)

   -> 정보은닉 및 코드 재활용, 보호

     -> public : 클래스 외부에서 사용 가능

         protected : 다른 클래스는 X, 상속받은 자식 클래스는 가능

         private : 클래스 내부에서만 가능, 외부 노출 X

   -> 데이터의 Bundling, 클래스를 통해 구현

 

 - 상속(Inheritance)

   -> 상위 클래스에서 하위 클래스로 물려주는 것

   -> 다중상속 불가, 필요에 따라 인터페이스 사용은 가능

   -> 확장성, 재사용성 ↑

 

 - 다형성(Polymorphism)

   -> 많은 것

   -> 메소드 오버로딩, 오버라이딩, 동적 바인딩

 

 

'일반 이론' 카테고리의 다른 글

클래스, 객체, 인스턴스  (0) 2019.06.20
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday