목록추상화 (2)
거누의 개발노트
면접에서 꼭 질문하는 꼬리에 꼬리를 무는 객체지향에대해서 공부해 보려고 한다. 객체 지향 프로그래밍(Object Oriented Programming) 먼저 객체란 우리가 실생활에서 쓰는 모든 것을 객체라고 한다. 간단한 예로 선풍기, 노트북 주변에 있는 모든것들이 객체가 될 수 있다. 사물뿐만 아니라 동물, 사람도 마찬가지로 객체가 될 수 있는 것이다. 그래서 객체 지향 프로그래밍은 먼저 객체를 파악하고, 이 객체들이 무슨 역할을 하는지 정의하여 객체들 간의 상호작용을 통해 프로그램을 만드는 것을 말한다. 결론, 필요한 데이터를 추상화 시켜서 상태와 행위를 가진 객체를 만들고 그 객체들간의 상호작용을 통해 로직을 구성하는 방법론인거다. 추상화 그럼 추상화시킨다는 말은 어떤 의미일까? 공통의 속성이나 기..
객체 지향 프로그래밍 하는 이유? 유지보수성! + 재사용성! OOP의 4대 기본원칙 1. 추상화(Abstraction) 객체들의 공통적인 특징(속성, 기능)을 뽑아 이름을 붙이는 것 클래스 VS 객체 클래스 : 분류에 대한 개념 -> 같은 특성을 지닌 여러 객체를 총칭하는 집합의 개념 (ex.사람) 객체 : 실체 -> 유일무이한 사물 (ex. 모모) 추상화 : 구체적인 것을 분해해서 관심 영역 (애플리케이션 경계) 에 있는 특성만 가지고 재조합하는 것 (= 모델링 2. 캡슐화(Encapsulation) 특정 객체가 독립적으로 역할을 제대로 수행하기 위해 필요한 데이터와 기능을 하나로 묶은 것 (모듈화의 의미) 정보를 객체 안에 포함시키고, 그 정보에 대한 직접 접근은 허용하지 않는 대신, 필요에 따라 확..