컴퓨터 프로그램을 어떤 데이터를 입력받아 순서대로 처리하고 결과를 도출하는 명령어들의 목록으로 보는 시각에서 벗어나 여러 독립적인 부품들의 조합, 즉 객체들의 유기적인 협력과 결합으로 파악하고자 하는 컴퓨터 프로그래밍의 패러다임이다. 다형성, 캡슐화, 추상화 ...
객체지향 설계에서 지켜줘야 할 5개의 소프트웨어 개발 원칙. SRP (Single Responsibility Principle) : 단일 책임 원칙. OCP (Open Closed Principle) : 개방 폐쇄 원칙. LSP, ISP, DIP ...
프로그램의 유지보수 성을 높이기 위한 설계 기법으로, 클래스(객체)는 단 하나의 책임(기능)만 가져야 한다는 원칙즉, 하나의 클래스는 하나의 기능을 담당하여 하나의 책임을 수행하는 데 집중되도록 클래스를 따로따로 여러개 설계하라는 원칙. 하나의 클래스에 기능이...
기존의 코드를 변경하지 않으면서, 기능을 추가할 수 있도록 설계가 되어야 한다는 원칙확장에 대해서는 개방적(open)이고, 수정에 대해서는 폐쇄적(closed)이어야 한다. 다형성과 확장을 가능케 하는 객체지향의 장점을 극대화하는 설계 원칙 모듈의 확장성을...
서브 타입은 언제나 기반(부모) 타입으로 교체할 수 있어야 한다는 원칙. 교체하다 : 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행이 보장되어야 한다는 의미즉, 부모 클래스의 인스턴스를 사용하는 위치에 자식 클래스의 인스턴스를 대신 사용했을 때...
범용적인 인터페이스 보다는 클라이언트(사용자)가 실제로 사용하는 Interface를 만들어야 한다는 의미로, 인터페이스를 사용에 맞게 끔 각기 분리해야 한다는 설계 원칙. 인터페이스를 잘게 분리함으로써, 클라이언트의 목적과 용도에 적합한 인터페이스만을 제공하는 것
객체에서 어떤 Class를 참조해서 사용해야하는 상황이 생긴다면, 그 Class를 직접 참조하는 것이 아니라 그 대상의 상위 요소(추상 클래스 or 인터페이스)로 참조하라는 원칙객체들이 서로 정보를 주고 받을 때는 의존 관계가 형성되는데, 이때 객체들은 나름대로의...
프로그램 : 파일이 저장 장치에 저장되어 있지만, 메모리에는 올라가 있지 않은 정적인 상태. 아직 운영체제가 프로그램에게 독립적인 메모리 공간을 할당해주지 않았다. 프로세스 : 운영체제로부터 필요한 메모리와 자원을 할당받아 실행되는 작업의 단위로서, 각 프로세스는...