OOP 2

[OOP] 객체 간 관계, 클래스 간 관계

목차1. 들어가며2. 클래스 간 관계3. 객체 간 관계4. 참고자료1. 들어가며프로그램을 개발할 때 우리는 단일 객체만을 사용하지 않는다. 여러 클래스와 여러 객체를 생성하고 사용하게 된다. 이렇게 만든 클래스, 객체 사이에는 여러 관계가 생기게 되는데, 이 관계를 잘 이용하면 유연하고, 강건한 프로그램을 만들 수 있게 된다. 이번 게시글에서는 이런 관계를 알아보도록 하겠다.2. 클래스 간 관계클래스 간의 관계는 정적이다. 다시 말해 코드를 작성할 때, 관계가 맺어지고, 실행 중에 변화하지 않는다. 클래스 간 관계는 크게 상속과 구체화가 있다. 클래스 간의 관계를 잘 형성해주면 강건한 일반화 프로그래밍을 할 수 있다. 상속상속(inheritance)은 객체지향 프로그래밍의 특징인 다형성(polymorph..

Outdated/Column 2020.02.27

[OOP] 객체지향 설계 원칙 - SOLID

목차1. SOLID 원칙이란?2. 단일 책임 원칙3. 개방 폐쇄 원칙4. 리스코프 치환 원칙5. 인터페이스 분리 원칙6. 의존성 역전 원칙 7. 마치며8. 참고자료 1. SOLID 원칙이란?좋은 설계란 무엇일까? 본인은 시스템에 예상하지 못한 변경사항이 발생하더라도 유연하게 대처할 수 있는 시스템 구조를 만드는 것이라고 생각한다. 다시 말해 시스템에 새로운 요구사항이나 변경사항이 있을 때, 영향을 받는 범위가 적은 구조를 만드는 것이다. 하지만 좋은 설계를 한다는 것은 말만큼 쉽지 않다. 다행히도 이미 여러 선배 개발자분들에 의해서 여러가지 설계 기법과 원칙이 소개되었다. SOLID 원칙은 그 중 하나다. SOLID 원칙은 소프트웨어를 설계함에 있어 이해하기 쉽고, 유연하고, 유지보수가 편하도록 도와주는..

Outdated/Column 2020.02.27