본문 바로가기

Java/OOP

(2)
[Java/OOP] SOLID 원칙 1. SRP 단일 책임의 원칙 - Single responsibility principle 한 클래스는 하나의 책임만 가져야 한다. 변경을 기준으로 한다. 변경이 있을 때 파급 효과가 적으면 단일 책임 원칙을 잘 따른 것이다. 2. OCP 개방-폐쇄 원칙 - Open/closed principle 소프트웨어 요소는 확장에는 열려 있으나, 수정에는 닫혀있다. 다형성을 활용해보자 인터페이스를 구현한 새로운 클래스를 하나 만들어서 새로운 기능을 구현한다. 문제점 구현 객체를 변경하려면 클라이언트 코드를 변경해야한다. 분명 다형성을 사용했지만 OCP원칙을 지킬 수 없다. 객체를 생성하고, 연관관계를 맺어주는 별도의 조립, 설정자가 필요하다. 3. LSP 리스코프 치환 원칙 - Liskov substitution..
[Java/OOP] Java/OOP Concept 언어란 "의사소통"의 수단이며 기본이다. OOP는 Object-Oriented Programming(객체 지향 프로그래밍)의 약자이다. 외부, 내부 구조 전체적인 구조는 복잡하나, 내부구조는 단순하다. 최초 구축시 힘드나, 추후 수정이 용이하다. OOP의 컨셉 1) Polymorphism(다형성) 하나의 인터페이스를 정의하고 여러가지 방법으로 구현(확장)을 할 수 있게 한다. 언어의 다형성, 메소드 재정의 ex. Java에서 메소드 오버로딩(정적 다형성), 오버라이드(동적 다형성) 2) Encapsulation(캡슐화) 외부 간섭으로 부터 데이터와 코드를 안전하게 유지해준다. 즉 사용자로부터 구현 세부 정보를 숨기는 것이다. 정해진 규약(접근 제어자, 파라미터 등)을 통해서만 서로 통신할 수 있다. 외부..