- 객체지향이란 무엇인지 설명해주세요.
- (꼬리질문) 객체지향의 특징은 무엇이 있나요?
- (꼬리질문) OOP란?
- (꼬리질문) SOLID 원칙은 무엇인가요?
객체지향이란 문제를 여러개의 객체 단위로 나누어 작업하는 방식으로 객체들이 서로 유기적으로 상호작용하는 프로그래밍 이론입니다. 이때 객체는 상태와 행위를 하나로 묶은 그룹입니다. 코드의 재사용성과 유지보수성이 높습니다.
객체지향의 특징으론
데이터와 해당데이터를 처리하는 메서드를 하나의 단위로 묶어 외부에서 직접적으로 접근할수없도록 보호하는 캡슐화
객체가 상황에따라 여러 가지 형태를 가질수 있는 다형성 (ex오버라이딩, 오버로딩)
[오버라이딩 – 부모클래스 메서드를 자식클래스에서 재정의하여 사용][오버로딩 – 같은 이름의 메서드를 다양한 매개변수 타입과 개수로 오버로딩하여 사용]
객체들의 공통된 특징, 본질만 모아 추출, 설계(역할)와 구현을 분리하는 추상화
여러 객체들이 지닌 공통된 특성을 부각시켜 하나의 개념이나 법칙으로 성립되는 상속
이 있습니다.
OOP는 객체지향 프로그래밍(Object Oriented Progtamming)의 약자로 프로그램을 객체들의 모임으로보고 이 객체들이 서로 상호작용 하도록 설계하는 프로그래밍 패러다임입니다.
SOLID 원칙으로는
단일책임원칙(Single Responsibility Principle)
클래스 모듈 또는 함수가 단 하나의 주요 책임만을 가져야 한다는 원칙
개방/폐쇄원칙(Open-Closed Principle)
클래스,모듈,함수등은 확장에는 열려있어야하고 변경에는 닫혀있어야한다.
리스코프치환원칙(Liskov Substitution Principle)
상위타입객체를 하위타입 객체로 대체해도 프로그램의 정확성은 유지되어야한다.
인터페이스 분리원칙(Interface Segregation Principle)
클라이언트가 사용하지 않는 메서드에 의존하지 않아야 한다는 원칙
의존성 역전원칙(Dependency Inversion Princicle)
고소준 모듈은 저수준모듈에 의존하지 말아야 하며 양쪽모두 추상화에 의존해야한다.
는 원칙들입니다.
에어의 캐릭터구현에 더이상 진전이 없어보여 팀원들에게 상태를 공유하고 다른 부분을 잡아 진행하기 시작하였다.
상점시스템을 구현하기위해 자료와 설계도를 제작하느라 오늘하루가 전부 소요되었다.
오늘하루 고민하면서 제작한 내용이다. 이부분은 최종본이아니기때문에 언제든 수정및 보완이 될수있다.