Developing Myself Everyday
article thumbnail
객체 지향 프로그래밍이란?? by Kotlin
기타 2023. 9. 26. 18:17

출처 Freepik 객체 지향 프로그래밍 (Object-Oriented Programming, OOP) 객체 지향 프로그래밍은 말 그대로 소프트웨어를 객체(Object)라는 독립적인 단위로 나누고, 이러한 객체들의 상호작용으로 소프트웨어를 구성하는 방법론입니다. 객체 지향 프로그래밍의 4대 개념 객체 지향 프로그래밍에는 중요한 4가지의 개념이 존재합니다. 바로 캡슐화(encapsulation), 상속(inheritance), 다형성(polymorphism), 추상화 (Abstraciton)입니다. 캡슐화(encapsulation) 캡슐화는 변수(Variables)와 메서드(Methods)를 하나의 객체(Class)안에 묶는 것을 의미합니다. 이는 상태와 행동을 하나의 객체 안에 모아서 객체의 내부를 외부..

article thumbnail
[Deep Dives into Coroutines on JVM] (2) - 코루틴의 Context
Android/Kotlin 2023. 9. 26. 14:53

이 게시글의 내용은 아래의 유튜브를 보고 작성한 내용입니다. 유튜브의 22분부터 마지막까지의 내용을 다루고 있습니다. 코루틴의 Context? 코루틴의 Context에 말해보기에 앞서 Context에 대해 다시한번 말해보자면 안드로이드 애플리케이션의 실행 환경에 대한 전역 정보를 제공하는 클래스라고 할 수 있습니다. 그럼 코루틴의 Context은 바로 코루틴 환경에 대한 전역 정보를 제공하고 있다는 것을 우리는 알 수 있습니다. 코루틴에 Context가 생긴 이유 사실 초기의 코루틴에서는 Context가 없었습니다. 그런데 문제가 생겼습니다. 바로 코루틴이 실행될 Thread에 관련된 사항입니다. 작가 starline 출처 Freepik ❓ 질문을 하나 해보겠습니다. 아래와 같은 Continuation이..

article thumbnail
1916번: 최소비용 구하기 - Kotlin, Java
백준/Dijkstra 2023. 9. 20. 23:37

1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net 작가 upklyak 출처 Freepik 문제 N개의 도시가 있다. 그리고 한 도시에서 출발하여 다른 도시에 도착하는 M개의 버스가 있다. 우리는 A번째 도시에서 B번째 도시까지 가는데 드는 버스 비용을 최소화 시키려고 한다. A번째 도시에서 B번째 도시까지 가는데 드는 최소비용을 출력하여라. 도시의 번호는 1부터 N까지이다. 입력 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤..

[Kotlin] 위임 확장 - week 11
스터디/코틀린 언어 2023. 9. 20. 20:27

클래스 위임(delegation) 클래스 위임은 다른 클래스에 자기 클래스가 할 일을 다른 클래스에 맡겨 처리하는 것을 말합니다. 보통 하나의 클래스에는 하나의 책임을 부여해서 설계하는 방식을 사용합니다. 하지만 위임은 2개의 클래스가 동일한 책임을 가지고 나눠서 처리합니다. 이는 구현 상속에 대한 좋은 대안으로 입증되었으며 코틀린에서는 by를 사용하여 쉽게 구성할 수 있습니다. 클래스 위임을 위해서는 위탁자 클래스(delegator), 수탁자 클래스(delegate), 두 클래스가 상속하는 인터페이스로 구성합니다. 인터페이스 동일한 일을 나눠서 처리하라면 일단 두 클래스 사이의 공통된 인터페이스가 필요합니다. interface Base { fun print() } 수탁자 클래스 수탁자 클래스는 실제 기..

article thumbnail
1043번: 거짓말 - Kotlin (Union - Find)
백준/기타 2023. 9. 16. 13:05

1043번: 거짓말 지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 www.acmicpc.net 작가 pikisuperstar 출처 Freepik 문제 지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 과장해서 말한다. 당연히 과장해서 이야기하는 것이 훨씬 더 재미있기 때문에, 되도록이면 과장해서 이야기하려고 한다. 하지만, 지민이는 거짓말쟁이로 알려지기는 싫어한다. 문제는 몇몇 사람들은 그 이야기의 진실을 안다는 것이다. 따라서 ..

article thumbnail
2493번: 탑 - Kotlin, Java (Stack)
백준/기타 2023. 9. 16. 11:19

2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net 작가 lifeforstock 출처 Freepik 문제 KOI 통신연구소는 레이저를 이용한 새로운 비밀 통신 시스템 개발을 위한 실험을 하고 있다. 실험을 위하여 일직선 위에 N개의 높이가 서로 다른 탑을 수평 직선의 왼쪽부터 오른쪽 방향으로 차례로 세우고, 각 탑의 꼭대기에 레이저 송신기를 설치하였다. 모든 탑의 레이저 송신기는 레이저 신호를 지표면과 평행하게 수평 직선의 왼쪽 방향으로 발사하고, 탑의 기둥 모두에는 레이저 신호를 수신하는 장치가 설치되어 있다..

article thumbnail
Android의 의존성 주입
Android 2023. 9. 14. 19:53

이 게시글은 아래의 공식문서를 보고 작성했습니다. Android의 종속 항목 삽입 | Android 개발자 | Android Developers Android의 종속 항목 삽입 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 종속 항목 삽입(DI)은 프로그래밍에 널리 사용되는 기법으로, Android 개발에 적합합니 developer.android.com Image by sentavio on Freepik 의존성 주입(Dependency Injection) 안드로이드는 관심사에 맞게 클래스로 코드를 분할하라고 합니다. 다만 이렇게 되면 코드가 여기저기로 흩어지게 됩니다. 보통 우리가 만드는 앱의 구조가 바로 아래의 그림처럼 흩어지게 되죠. 위의 그림에서 집중해서 봐야할 부분..

article thumbnail
2470번: 두 용액 - Kotlin, Java (투 포인터)
백준/기타 2023. 9. 14. 13:49

2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net 문제 KOI 부설 과학연구소에서는 많은 종류의 산성 용액과 알칼리성 용액을 보유하고 있다. 각 용액에는 그 용액의 특성을 나타내는 하나의 정수가 주어져있다. 산성 용액의 특성값은 1부터 1,000,000,000까지의 양의 정수로 나타내고, 알칼리성 용액의 특성값은 -1부터 -1,000,000,000까지의 음의 정수로 나타낸다. 같은 양의 두 용액을 혼합한 용액의 특성값은 혼합에 사용된 각 용액의 특성값의 합으로 정의한다. 이 연..