반응형

언어(Language) 108

[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..

[Java] 객체 null 체크 - Objects.isNull() vs == 연산자

객체의 널 체크 자바에서 객체의 null 여부를 체크하기 위해서는 두 가지 방법을 사용할 수 있다. java.utils.Objects에 구현되어 있는 isNull 메서드 == 연산자를 사용 사용 방법 isNull() import java.util.Objects; public class Example { public static void main(String[] args) { String str1 = null; String str2 = "hello"; System.out.println(Objects.isNull(str1)); System.out.println(Objects.isNull(str2)); } } // 출력 true false == 연산자 public class Example { public st..

반응형