java 30

[Android/오르다 다이어리] 레거시 리팩토링 06 - DBHelper 싱글톤 패턴 적용

[Android/오르다 다이어리] 레거시 리팩토링 06 - DBHelper 싱글톤 패턴 적용 지난글: https://yujinius45.tistory.com/160 [Android/오르다 다이어리] 레거시 리팩토링 05 - Configuration Change 대응 (ViewModel 적용)[Android/오르다 다이어리] 레거시 리팩토링 05 - Configuration Change 대응 (ViewModel 적용) 지난 글: https://yujinius45.tistory.com/159 [Android/오르다 다이어리] 레거시 리팩토링 04 - Fragment 마이그레이션[Android/오yujinius45.tistory.com 🔥 ViewModel 도입 과정에서 발견한 DBHelper 문제지난 글에..

[Android/오르다 다이어리] 레거시 리팩토링 04 - Fragment 마이그레이션

[Android/오르다 다이어리] 레거시 리팩토링 04 - Fragment 마이그레이션지난 글: https://yujinius45.tistory.com/158 [Android/오르다 다이어리] 레거시 리팩토링 03 - Navigation Component 적용[Android/오르다 다이어리] 레거시 리팩토링 03 - Navigation Component 적용이전 글: https://yujinius45.tistory.com/156 [Android/오르다 다이어리] 레거시 리팩토링 02 - targetSdk 34 적용 이슈와 해결보호되어 있는 글yujinius45.tistory.com 지난 번 오르다 다이어리 앱의 메뉴 이동 과정이 불편하여 Navigation을 도입해 사용자 경험을 향상시켰다. 그리고 이제..

[Android/오르다] 오르다 다이어리 레거시 리팩토링 00 - 계획 수립

https://github.com/yujin45/Team3_Orda_Diary GitHub - yujin45/Team3_Orda_Diary: 2022-2 Mobile Programming Final Team Project Assignment2022-2 Mobile Programming Final Team Project Assignment - yujin45/Team3_Orda_Diarygithub.com💡 오르다 다이어리 리팩토링 - 계획 수립네이버 부스트캠프를 통해 다져진 기본기를 바탕으로 이전 프로젝트를 리팩토링하기로 결정했다. 부스트캠프에서의 목표는 Kotlin과 Compose를 학습하여 이전 프로젝트에도 리팩토링을 진행하는 것이었다. 그러나 부스트캠프에서 Android 개발을 심층적으로 학습하면서..

[Kotlin/Java] 코틀린에서 Unit 이해하기 (void 친구): 싱글톤과 타입, 객체의 차이점

💗 코틀린에서 Unit 이해하기: 싱글톤과 타입, 객체의 차이점코틀린을 처음 접하는 많은 개발자들은 void 대신 Unit이라는 단어를 보고 혼란스러워할 수 있다. 나는 우선 그랬다. 그래서 아래와 같은 의문점이 생겼었다.싱글톤이란 무엇인가?코틀린에서 Unit이란 무엇인가? void와 어떻게 다른가?java와 코틀린의 싱글톤은 어떻게 다른가?코틀린에서의 타입과 객체는 무엇이며 어떤 차이가 있는가?코틀린에서 object란 무엇인가?싱글톤 객체의 활용은 어떻게 하는가?그래서 이 포스팅에서는 코틀린에서 Unit이 무엇인지, 왜 사용되는지, 그리고 싱글톤, 타입, 객체와의 관계를 설명하겠다.1. 싱글톤이란 무엇인가?싱글톤(Singleton)은 디자인 패턴 중 하나로, 특정 클래스의 인스턴스가 단 하나만 존재하..

Kotlin 2024.07.22

[Kotlin/Java] 코틀린과 자바의 상속과 open 키워드 관련 차이점 비교 분석

❓ Kotlin, Java에서의 상속과 open 관련 차이점은?Kotlin의 open 키워드와 Java의 클래스 및 메서드 상속 방식은 몇 가지 중요한 차이점이 있다.다음은 Java와 Kotlin의 상속 관련 주요 차이점을 비교한 내용이다..Java에서의 상속클래스 상속기본적으로 상속 가능:Java에서 클래스는 기본적으로 상속이 가능하다.특별히 final로 선언되지 않는 한, 모든 클래스는 상속될 수 있다.final 키워드:클래스를 상속할 수 없도록 하려면 final 키워드를 사용해야 한다.class Polygon { // 상속 가능}final class Rectangle extends Polygon { // 이 클래스는 더 이상 상속될 수 없습니다.}메서드 오버라이드기본적으로 오버라이드 가능..

Kotlin 2024.07.22

[Kotlin/Java] 코틀린과 자바의 추상 클래스&메서드 차이점 비교

❓ Kotlin의 추상 클래스&메서드 Java랑은 어떻게 다른가?Java의 추상 클래스와 메서드Java 추상 클래스와 메서드 정의Java에서 추상 클래스와 메서드는 abstract 키워드를 사용하여 선언추상 클래스는 인스턴스를 생성할 수 없으며, 추상 메서드는 구현을 가지지 않음서브클래스는 추상 메서드를 반드시 구현해야 함 abstract class Polygon { abstract void draw(); // Polygon은 추상 클래스이며, draw는 추상 메서드}class Rectangle extends Polygon { @Override void draw() { // Rectangle 클래스는 Polygon을 상속받고, draw 메서드를 구현 }}Java에서는..

Kotlin 2024.07.22

[Kotlin/Java] Java와 Kotlin의 상속 차이점과 다중 상속, 오버라이딩 규칙 비교

❓Java와 Kotlin의 상속 차이점?Java에서의 상속클래스 상속:단일 상속: 한 클래스는 단 하나의 클래스만 상속받을 수 있음구문: class Child extends Parentclass Parent { // 부모 클래스 내용}class Child extends Parent { // 자식 클래스 내용}인터페이스 상속:다중 구현: 한 클래스는 여러 인터페이스를 구현할 수 있음구문: class Child extends Parent implements Interface1, Interface2interface Interface1 { void doSomething();}interface Interface2 { void doSomethingElse();}class Child extend..

Kotlin 2024.07.22

[코딩 테스트 합격자 되기 : 자바 편] 5. 배열(Array), ArrayList 기본 문법 개념 정리

5-1 배열 개념인덱스와 값을 일대일 대응해 관리하는 자료구조데이터를 저장할 수 있는 모든 공간은 인덱스와 일대일 대응하므로 어떤 위치에 있는 데이터든 한 번에 접근 가능⇒ 빠른 탐색 가능⇒ 이러한 접근 방식을 임의 접근(random access)라고 함 배열 선언int [] arr = {0,0,0};int [] arr = new int[3]; // 결과값 동일자바에는 배열과 유사한 기능 가진 ArrayList 자료 구조 존재아래의 포스팅 참고하여 배열과 ArrayList 차이 알기https://yujinius45.tistory.com/77 [Java] 자바에서 배열(Array)과 ArrayList의 비교 분석 차이점Java에서 데이터를 저장하고 관리하기 위해 배열(Array)과 ArrayList를 많이..

[Java] 자바에서 배열(Array)과 ArrayList의 비교 분석 차이점

Java에서 데이터를 저장하고 관리하기 위해 배열(Array)과 ArrayList를 많이 사용합니다. 이 두 가지 자료구조는 많은 면에서 비슷하지만, 중요한 차이점도 존재합니다. 이 포스팅에서는 배열과 ArrayList의 차이점을 비교 분석하여 언제 어떤 것을 사용하면 좋은지에 대해 알아보겠습니다.배열 (Array)배열은 고정된 크기의 같은 타입의 요소들을 저장하는 자료구조입니다. 장점:고정된 크기: 배열은 크기가 고정되어 있어 메모리 관리가 용이합니다.빠른 접근 속도: 인덱스를 이용하여 요소에 직접 접근할 수 있어 접근 속도가 매우 빠릅니다.간단한 구조: 기본적인 자료구조로, 이해하고 사용하기 쉽습니다.단점:크기 변경 불가: 배열의 크기는 생성 시에 고정되므로, 이후에는 크기를 변경할 수 없습니다.삽입..

Java 2024.05.31

[코딩 테스트 합격자 되기 : 자바 편] 4. 코딩 테스트 Java 필수 문법

프리미티브 타입(Primitive type)int, long, float, double 등레퍼런스 타입(Reference type)Integer, Long, Float, Double 등★ 기억하기: 레퍼런스 타입은 참조형 변수이므로 프리미티브 타입보다 연산 속도가 더 느립니다. 정수형나누기, 모듈러 연산 모두 소수점 버림부동소수형System.out.println(10.0 % 3.2) // 모듈러 / 0.39999999999~4710.0 % 3.2 의 결과값이 0.4가 아니라 0.3999999~47 앱실론을 포함한 연산에 주의하기위와 같은 결과의 원인: 자바는 부동소수형 데이터를 이진법으로 표현하기 때문 ⇒ 표현 과정에서 오차 발생 ⇒ 이를 앱실론(epsilon)이라고 함.코테 부동소수형 데이터 다룰 때 ..