자바로 문제 풀면서 OOP 정복 가즈아!
안녕하세요. 컴퓨터공학과 학생입니다.
저는 2018년 1월부터 Java로 백준 알고리즘 문제를 풀어왔는데 절차지향적인 사고방식으로 코드를 짜왔습니다.
알고리즘 문제를 풀다보면 절차지향으로 짜도 별 문제가 없었죠 ? (오히려 더 빠릅니다.)
허나, 몇 달이 지나서 문제의 Output이 바뀌어 내 코드를 수정해야 한다면 어떨까요 ?
객체지향프로그래밍(OOP)에 대해 공부하던 중에 어떻게하면 몸소 느낄 수 있을까 생각하다가
이왕 알고리즘 문제 푸는거 객체지향적인 코드로 짜보자 하는 생각이 들었습니다.
어떻게 하면 객체지향스럽게 적용할 지 고민하며 제 나름대로 코드를 짜보고
기록하여 올리는 공간입니다.
저와 같이 알고리즘 문제를 객체지향적으로 구현 하고 싶은분들은
문제를 같이 풀면서 비교하면 좋을 것 같습니다.
잘못된 부분이나 피드백은 언제나 지적해주세요! 특히 네이밍이 너무 어렵네요ㅠ
issue나 pr해주시면 저에게 정말 큰 도움이 된답니다.
객체지향 4특성
Step1. 추상화 (Abstraction)
Step2. 캡슐화 (Encapsulation)
Step3. 상속성 (Inheritance)
Step4. 다형성 (Polymorphism)
객체지향 5원칙(SOLID Principle)
Step1. 단일 책임 원칙(Single Responsiility Principle)
Step2. 개방 - 폐쇄 원칙(Open-Closed Principle)
Step3. 리스코프 치환 원칙(Liskov Substitution Principle)
Step4. 인터페이스 분리 원칙(Interface Segregation Principle)
Step5. 의존 역전 원칙(Dependency Inversion Principle)
'Old Posts > OOP' 카테고리의 다른 글
03. 리스코프 치환 원칙(Liskov Substitution Principle) (0) | 2018.03.28 |
---|---|
02. 개방-폐쇄 원칙 (Open-closed principle) (0) | 2018.03.13 |
01. 단일 책임 원칙 (Single Responsibility Principle) (0) | 2018.02.27 |