본문 바로가기

전체 글

(18)
[Java] Optional 개념 알기 💡Optional 도입 배경-> NPE(NullPointerException)을 피하기 위해서.자바로 프로그래밍을 하다보면 정의되지 않은 객체에 대해 null 값을 고려해야 하는 경우가 발생한다.안정적인 실행을 위해서는 NULL 여부 검사를 통해, NPE가 발생하지 않도록 해야 한다.단순한 코드라면 아래 예제와 같이 짧은 로직으로 처리할 수 있지만, 고려해야할 변수가 많아지면 NULL 체크 로직이 길어지므로 코드가 복잡해지는 한계가 있다.List names = getNames();names.sort(); // names가 null이라면 NPE가 발생함List names = getNames();// NPE를 방지하기 위해 null 검사를 해야함if(names != null){ names.sort()..
[Kotlin IN ACTION] 1. 코틀린이란 무엇이며, 왜 필요한가? - (1) 코틀린 맛보기 & (2) 코틀린의 주요 특성 해당 포스팅은 위 책을 학습하기 위한 용도로 쓰여진 글입니다.  - 코틀린 기본 기능 데모- 코틀린 언어의 주요 특성- 코틀린을 활용한 안드로이드와 서버 개발- 코틀린이 다른 언어보다 더 나은 점- 코틀린으로 코드를 작성하고 실행하는 방법 💡 코틀린이란 무엇인가?코틀린은 자바 플랫폼에서 돌아가는 새로운 프로그래밍 언어다.코틀린은 간결하고 실용적이며, 자바 코드와의 상호운용성을 중시한다. 현재 자바가 사용 중인 곳이라면 거의 대부분 코틀린을 활용할 수 있다. 대표적으로 서버 개발, 안드로이드 앱 개발 등의 분야에서 코틀린을 쓸 수 있다.코틀린은 기존 자바 라이브러리나 프레임워크와 함께 잘 작동하며, 성능도 자바와 같은 수준이다. 1장에서는 코틀린의 주요 특성을 자세히 살펴본다.  ☝️ 1.1 코틀린 맛보..
[SOLID] DIP(의존 역전 원칙) 개념 알기 💡의존 역전 원칙 - DIP(Dependency Inversion Principle) DIP는 소프트웨어의 구조를 설계할 때 적용되는 개념이며, 다음과 같은 원칙을 따른다.  1. 고수준 모듈은 저수준 모듈의 구현에 의존해서는 안되며, 둘 다 추상화에 의존해야 한다.2. 추상화는 세부사항에 의존해서는 안 된다.  쉽게 말해, 자신보다 변화하기 쉬운 것에 의존해서는 안 되고, 거의 변화가 없는 개념에 의존해야 한다는 뜻이다. 고수준 모듈이 저수준 모듈의 구체적인 내용에 의존할 경우, 저수준 모듈에 변화가 있을 때마다 고수준 모듈의 코드를 자주 수정해야 되기 때문이다.    * 고수준 모듈: 의미 있는 단일 기능을 제공하며, 상위 수준의 정책을 구현한다.  저수준 모듈: 고수준 모듈의 기능을 구현하기 위해..