본문 바로가기

Algorithm

객체지향프로그래밍(OOP) 개념

반응형

- OOP

- Object Oriented Programming



- Class

- A class is a template that defines what an object's data fields and methods will be.

- Ex)



- Object 

- An Instance of a class

- Ex)



- Encapsulation(캡슐화)

- Provide the security that keeps data and mothod safe from inadvertent changes. 

- Class 안에 모든 함수들과 멤버를 갖게 함으로써 이것을 활용하는 다른 개발자들이 바꿀 수 없도록 해주는 개념



- Inheritance(상속)

- Parent-Child relationship of class which is mainly Used for code reusability.

- 코드의 재 사용성을 위해서 사용되는 개념

- Ex)



- Polymorphism

- Method having same name works differently in different context. (overriding, overloading)

- Ex) Overloading (같은 함수 이름인데 다르게 행동함!)

- Ex) Overriding (부모 자식 간의 같은 이름인데 다르게 행동함!)



- Abstraction(가상Class, 추상Class)

- An abstract class is something which is incomplete and you can not create instance of abstract class. If you want to use it you need to make it complete or concrete by extending it. 

- 추상Class 를 부모Class로 가지고 있는 자식Class는 꼭 추상Class의 method들을 구현해야 한다!

- Ex)todo

- Q. 언제 이런 기능이 필요할까?!

  A. 아키텍처들은 컨셉들만 구현하지 실제 개발은 하지 않는다. 개발자들이 컨셉을 보고 구현할 수 있도록 Abstract Class 로 컨셉을 잡아준다.

반응형

'Algorithm' 카테고리의 다른 글

자료구조 Linked_list  (0) 2017.10.03
자료구조 Queue / Stack  (0) 2017.10.03
Sorting (정렬)  (0) 2017.10.02
Big-O notation / Time Complexity / Space Complexity  (0) 2017.10.02
도화지를 차지하는 노트의 넓이 구하기  (0) 2017.09.28