Java9 SOLID 설계, 그 외 소수설 SOLID - 소프트웨어 설계를 이해하기 쉽고, 유연하고, 유지보수가 쉽게 만들기 위해 나온 원칙 SRP - Single Responsibility Principle, 단일 책임 원칙, 클래스의 존재 이유가 하나여야만 함, 클래스의 책임을 정확히, 오류 확인 쉬움 OCP - Open / Closed Priciple, 개방-폐쇄 원칙, 클래스 내부 수정 없이 동작을 확장할 수 있어야 함 LSP - Liskov Substitution Priciple, 리스코프 치환 원칙, 부모 클래스의 동작은 자식 클래스에서 모두 할 수 있어야 함 ISP - Interface Segregation Principle, 인터페이스 분리 원칙, 큰 인터페이스 몇 개보다 작은 인터페이스 많은 것이 나음 DIP - Dependenc.. 2023. 5. 16. 예외 처리, 오류 처리 try-catch-finally - catch 문은 여러개 가능, finally는 생략 가능, 부모 예외 클래스보다 자식 클래스가 먼저 나올 수 없음 try { } catch{ } catch{ } finally{ //예외 발생 여부와 상관없이 항상 실행되는 코드 } Exception 클래스 - 최상위 클래스로 모든 예외를 잡음 printStackTrace() - 현재 발생한 예외의 호출 스택을 보여줌 getMessage() - 예외가 왜 발생했는지에 대한 내용, 메시지가 없을 때는 null 반환 rethrow - 예외가 발생했을 때 상위로 예외 처리를 넘기는 방식, 호출 스택이 없어질 수 있기 때문에 주의 checked 예외 - Java에만 존재, Exception 상속, IOException, SQLE.. 2023. 5. 13. 디자인 패턴 Factory Method - 사용할 클래스를 정확히 몰라도 개체 생성을 가능하게 해주는 패턴, 클라이언트가 익숙한 인자를 통해 개체를 생성할 수 있음, 오류 시 null 반환 가능, 다형적으로 개체 생성 가능 (가상 생성자 패턴) Builder - 개체의 생성 과정을 그 개체의 클래스로부터 분리하는 방법, 개체의 부분을 만들어가다 준비되면 개체를 생성, Fluent Interface 기능, String Sequence Diagram - 개체들이 서로 통신하는 모습을 보여주는 UML 다이어그램, 동작을 시간의 흐름에 따라 나타냄 Wrapper Pattern - Adapter Pattern이라고도 함, 어떤 클래스의 메서드 시그니처를 변경할 때 사용(외부 라이브러리를 바꿀 때, 클라이언트 코드를 변경하지 .. 2023. 5. 11. 상속, 컴포지션 상속과 컴포지션은 재사용성이 목적이다. 1. 기계상의 차이 때문에 하나를 고를 때 - 상속은 개체를 생성할 때 메모리가 한 덩어리지만 컴포지션은 메모리가 여러 덩어리를 사용한다. 2. 용도때문에 상속을 골라야 할 때 - 다형성을 사용하려면 상속을 사용해야 한다. 3. 관리의 효율성을 생각할 때 - 코드 중복 등은 상속, 깊은 상속 관계를 사용하고 있을 때는 컴포지션을 활용하는게 낫다. 4. 그 외 ECS(Entity Component System) - 코드 변경 없이 자유롭게 개체를 만들 수 있도록 하는 것이 목적이다. 상속과 컴포지션은 같이 사용할 수도 있다. 2023. 1. 29. 이전 1 2 3 다음