객체 지향 프로그래밍/OOP 2

객체지향 설계원칙 이해하기

1. SOLID란? 이전 포스팅에서 객체 지향 특성에 대해 다루어 보았습니다. 캡슐화, 상속, 추상화, 다형성으로 인한 객체 지향의 장점을 이해했습니다. 그런데 '설계 5원칙'은 또 무엇일까요? 🤦‍♂️ 약자로 'SOLID'라고 써놓으니 더 어렵게 느껴지는 것 같습니다. 쉽게 말하자면 설계 5원칙이란 '객체 지향 사용법'입니다. 👀 학습한 '객체 지향 특성'이 객체 지향 프로그래밍을 위한 '도구'였다면, '객체 설계 5원칙'은 그 도구를 사용하는 '도구 사용 방법'인 것이죠. ✨ 우리는 이 5가지 원칙을 지키면서 프로그램을 작성할 것입니다. 그 프로그램은 이해하기 쉽고, 유지보수 하기 용이하며, 논리적일 가능성이 높습니다. 👏👏👏 1.1. 단일 책임 원칙(SRP) 단일 책임 원칙은 하나의 클래스는 하나의..

객체 지향 특징 - 캡슐화, 상속, 추상화, 다형성

1. 절차적/구조적 프로그래밍 객체 지향은 절차적/구조적 프로그래밍으로부터 발전해 왔습니다. 따라서 절차적/구조적 프로그래밍의 특징을 갖고 있습니다. 그래서 간단히 정리하고 넘어가려고 합니다. 😊 1.1. 절차적 프로그래밍 절차적 프로그래밍은 코드가 작성된 순서대로 실행되도록 구현해야 합니다. 👍 특히 Goto처럼 분기를 일으키는 명령문의 사용을 지양합니다. 잦은 분기는 프로그램의 작동 원리를 파악하는 데 혼동을 줄 수 있기 때문이죠. 😢😢 그래서 Java에서는 아예 막아 놓았습니다. 1.2. 구조적 프로그래밍 구조적 프로그래밍은 함수를 사용하여 중복을 줄이고 논리적으로 기능을 분리하는 것입니다. 이렇게 구현하면 프로그램 구조를 파악하기 쉬워지고 유지보수에도 용이해지죠. 또한 함수 안에서 지역변수를 사용..