반응형

언어(Language) 109

[OOP] 디자인 패턴(Design Pattern)이란? - 장점 및 종류

디자인 패턴(Design Pattern)이란? 디자인 패턴은 개발하면서 발생하는 반복적인 문제들을 어떻게 해결할 것인지에 대한 해결 방안으로 실제 현업에서 비즈니스 요구 사항을 프로그래밍으로 처리하면서 만들어진 다양한 해결책 중에서 많은 사람들이 인정한 모범 사례(Best Practice)다. 이러한 디자인 패턴은 객체 지향 4대 특성(캡슐화, 상속, 추상화, 다형성)과 설계 원칙(SOLID)을 기반으로 구현되어 있다. 디자인 패턴의 장점 재사용성 : 반복적인 문제에 대한 일반적인 해결책을 제공하므로, 이를 재사용하여 유사한 상황에서 코드를 더 쉽게 작성할 수 있다. 가독성 : 일정한 구조로 정리하고 명확하게 작성하여 개발자가 코드를 이해하고 유지보수하기 쉽게 만든다. 유지보수성 : 코드를 쉽게 모듈화 ..

[OOP] 의존성 역전 원칙(DIP: Dependency Inversion Principle) 개념 및 예제

객체 지향 설계 원칙(SOLID) 객체 지향 언어의 등장 이후 수많은 시행착오와 베스트 프랙티스 속에서 객체 지향 설계 5가지 원칙이 등장했는데, 바로 SOLID다. SOLID는 로버트 C. 마틴(Robert C. Martin)이 2000년대 초반 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙으로 제시한 것을 마이클 페더스(Michael Feathers)가 두문자어로 소개한 것이다. SOLID는 다음 5가지 원칙의 앞 글자를 따서 부르는 이름이다. SRP(Single Responsiblity Principle) : 단일 책임 원칙 OCP(Open Closed Principle) : 개방 폐쇄 원칙 LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 ISP(Inte..

[OOP] 인터페이스 분리 원칙(ISP: Interface Segregation Principle) 개념 및 예제

객체 지향 설계 원칙(SOLID) 객체 지향 언어의 등장 이후 수많은 시행착오와 베스트 프랙티스 속에서 객체 지향 설계 5가지 원칙이 등장했는데, 바로 SOLID다. SOLID는 로버트 C. 마틴(Robert C. Martin)이 2000년대 초반 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙으로 제시한 것을 마이클 페더스(Michael Feathers)가 두문자어로 소개한 것이다. SOLID는 다음 5가지 원칙의 앞 글자를 따서 부르는 이름이다. SRP(Single Responsiblity Principle) : 단일 책임 원칙 OCP(Open Closed Principle) : 개방 폐쇄 원칙 LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 ISP(Inte..

[OOP] 리스코프 치환 원칙(LSP: Liskov Substitution Principle) 개념 및 예제

객체 지향 설계 원칙(SOLID) 객체 지향 언어의 등장 이후 수많은 시행착오와 베스트 프랙티스 속에서 객체 지향 설계 5가지 원칙이 등장했는데, 바로 SOLID다. SOLID는 로버트 C. 마틴(Robert C. Martin)이 2000년대 초반 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙으로 제시한 것을 마이클 페더스(Michael Feathers)가 두문자어로 소개한 것이다. SOLID는 다음 5가지 원칙의 앞 글자를 따서 부르는 이름이다. SRP(Single Responsiblity Principle) : 단일 책임 원칙 OCP(Open Closed Principle) : 개방 폐쇄 원칙 LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 ISP(Inte..

[OOP] 개방 폐쇄 원칙(OCP: Open Closed Principle) 개념 및 예제

객체 지향 설계 원칙(SOLID) 객체 지향 언어의 등장 이후 수많은 시행착오와 베스트 프랙티스 속에서 객체 지향 설계 5가지 원칙이 등장했는데, 바로 SOLID다. SOLID는 로버트 C. 마틴(Robert C. Martin)이 2000년대 초반 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙으로 제시한 것을 마이클 페더스(Michael Feathers)가 두문자어로 소개한 것이다. SOLID는 다음 5가지 원칙의 앞 글자를 따서 부르는 이름이다. SRP(Single Responsiblity Principle) : 단일 책임 원칙 OCP(Open Closed Principle) : 개방 폐쇄 원칙 LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 ISP(Inte..

[OOP] 단일 책임 원칙(SRP: Single Responsiblity Principle) 개념 및 예제

객체 지향 설계 원칙(SOLID) 객체 지향 언어의 등장 이후 수많은 시행착오와 베스트 프랙티스 속에서 객체 지향 설계 5가지 원칙이 등장했는데, 바로 SOLID다. SOLID는 로버트 C. 마틴(Robert C. Martin)이 2000년대 초반 객체 지향 프로그래밍 및 설계의 다섯 가지 기본 원칙으로 제시한 것을 마이클 페더스(Michael Feathers)가 두문자어로 소개한 것이다. SOLID는 다음 5가지 원칙의 앞 글자를 따서 부르는 이름이다. SRP(Single Responsiblity Principle) : 단일 책임 원칙 OCP(Open Closed Principle) : 개방 폐쇄 원칙 LSP(Liskov Substitution Principle) : 리스코프 치환 원칙 ISP(Inte..

[Kotlin] 코틀린이란 무엇이며, 왜 필요한가? - Kotlin In Action

코틀린은 무엇인가? 코틀린은 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어로 간결하고 실용적이며, 자바 코드와의 상호운용성(Interoperability)을 중시한다. 현재 자바가 사용 중인 곳이라면 거의 대부분 코틀린을 활용할 수 있다. 대표적으로 서버 개발, 안드로이드 앱 개발 등의 분야에서 코틀린을 쓸 수 있다. 코틀린 맛보기 코틀린의 첫인상 data class Person ( val name: String, val age: Int? = null ) fun main(args: Array) { val persons = listOf( Person("Alice"), Person("Bob", age = 29) ) val oldest = persons.maxBy { it.age ?: 0 } println(..

[Java] 자바 로깅(Logging) - log4j, log4j2, slf4j, logback

로깅(Logging) 로깅(Logging)은 애플리케이션의 동작에 대한 정보인 로그(Log)를 기록하는 행위를 말한다. 로그는 컴퓨터의 처리 내용이나 이용 상황을 기록하는 것으로 실행 중인 소프트웨어의 동작 상태를 파악하고 문제가 발생했을 때 원인 파악에 도움을 준다. 따라서 웹 또는 앱 애플리케이션 개발에도 문제를 해결하기 위해 로그를 남겨야 한다. 로그의 장점 로그 레벨(Log level)을 지정할 수 있다. 애플리케이션의 동작 흐름을 파악할 수 있다. 예외 발생 시 해당 정보를 쉽게 파악할 수 있다. 자바에서는 로그를 남기기 위한 여러 가지 로깅 프레임워크를 제공한다. 대표적으로 log4j, log4j2, logback 등이 있다. slf4j slf4j(Simple Logging Facade for..

[Java] 자바 JSON 라이브러리 Gson 사용법

Gson Gson은 구글에서 만든 직렬화(Serialization), 역직렬화(Deserialization)를 쉽고 간편하게 해주는 라이브러리다. 자바 객체와 Json 포맷 간의 변환하는 데 사용한다. 주로 Jackson 라이브러리와 많이 비교되기도 한다. Gson 라이브러리 의존성 추가 Gradle dependencies { implementation 'com.google.code.gson:gson:2.10.1' } Maven com.google.code.gson gson 2.10.1 사용 방법 User 클래스 다음 코드는 name과 age 필드를 가진 User 클래스로, 예제에 사용될 생성자와 getter, toString 메서드가 구현되어 있다. public class User { private S..

[Java] 자바 JSON 라이브러리 Jackson - ObjectMapper 사용법

Jackson Jackson 라이브러리는 자바에서 데이터 처리를 위한 라이브러리로 xml, yml, properties, csv, json 등 다양한 형식의 데이터 처리가 가능한 라이브러리다. 일반적으로 자바용 JSON 라이브러리로 알려져 있다. Jackson 라이브러리는 스트림 방식으로 속도가 빠르고 유연하며, 어노테이션 방식으로 메타 데이터를 기술할 수 있다. ObjectMapper를 통해 Java 객체와 JSON 형식의 문자열 간의 직렬화(Serialization), 역직렬화(Deserialization)가 가능하다. 스프링 부트에서는 Jackson 라이브러리가 기본적으로 추가되어 별도의 의존성 추가 없이 사용할 수 있다. Jackson 라이브러리 3가지 핵심 모듈 jackson-core low-l..

반응형