개발/개념 및 기법(13)
-
Kotlin Multiplatform (KMP)
🌟 들어가기 전하이브리드 앱 하면 흔히들 떠올리는 게 RN과 플러터일까?하지만 안드로이드에는 KMP가 있다 ~!! 심지어 KMP로는 android, ios 뿐만 아니라 서버까지 가능하다구!!!!!!그러면 대체 KMP는 무엇이란 말인가. 🔍 세부 내용Kotlin Multiplatform (KMP)Kotlin Multiplatform (KMP)는 JetBrains가 개발한 Kotlin 언어를 기반으로여러 플랫폼(Android, iOS, 웹, 데스크톱 등)에서 공통 코드를 작성하고 재사용 할 수 있도록 지원하는 기능이다.이를 통해 중복된 코드를 줄이고 생산성을 높이면서도 각 플랫폼의 고유한 기능을 활용할 수 있다.코드 공유: 비즈니스 로직, 데이터 처리, API 호출 등 플랫폼 간 중복된 코드를 통합.플랫..
2025.01.24 -
JVM이란?
1. JVM이란?JVM은 자바 프로그램 실행의 핵심 엔진이며, 바이트코드를 기계어로 번역하고 실행한다. (1) 바이트 코드 실행자바 소스 코드(.java)는 컴파일러(javac)에 의해 바이트코드(.class)로 변환된다.JVM은 이 바이트코드를 실행 가능한 기계어로 번역하여 실행한다.플랫폼 독립성을 보장하는 이유가 바로 이 바이트 코드 때문!!(2) 플랫폼 독립성 제공자바 프로그램은 특정 운영체제에 의존하지 않는다.JVM이 설치되어 있다면 어떤 환경에서든 동일하게 실행할 수 있다.(3) 메모리 관리JVM은 프로그램 실행 시 필요한 메모리를 자동으로 관리한다.주요 메모리 영역:Heap: 객체와 인스턴스 변수가 저장됨 (GC에 의해 관리)Stack: 메서드 호출과 지역 변수가 저장됨 (힙보다 빠른 접근)M..
2025.01.23 -
Java에서 try~catch문, 남용하면 문제 없을까?
Java에서 예외(Exception) 처리를 할 때 흔히 사용하는 try~catch 문. 이걸 사용하면 아무래도 강제 종료의 위험성은 떨어진다.하지만 남용할 때의 부작용은 없을까?1. 예외(Exception)이란?예외(Exception)는 프로그램 실행 중에 발생할 수 있는 비정상적인 상황을 나타내는 객체이다.프로그램의 일반적인 흐름을 방해하며, 적절히 처리하지 않으면 프로그램이 비정상적으로 종료될 수 있다.그렇기에 Java에서는 예외를 처리하기 위해 try~catch~finally 블록을 사용한다. 예외는 크게 두 가지로 분류할 수 있다. 1-(1) Checked ExceptionChecked Exception은 컴파일 시점에서 체크되는 예외로,반드시 try~catch 블록을 사용하여 처리하거나 thr..
2024.07.30 -
[개발 기본 개념]비트 연산자
비트연산자란? 컴퓨터의 비트 단위로 데이터를 처리하는 연산자 비트연산자 예시 설명 & AND 0 & 0 == 0 0 & 1 == 0 1 & 1 == 1 두 비트의 값이 모두 1인 경우에만 1을 반환 | OR 0 | 0 == 0 0 | 1 == 1 1 | 1 == 1 두 비트 중 하나라도 1인 경우에는 1을 반환 ^ XOR 0 ^ 0 == 0 0 ^ 1 == 1 1 ^ 1 == 0 두 비트가 서로 다른 경우에 1을 반환 ~ NOT ~0 == 1 ~1 == 0 0이면 1을, 1이면 0을 반환 > b 비트를 오른쪽으로 지정된 수(b)만큼 이동 왼쪽에는 부호 비트가 추가되고, 오른쪽으로 벗어나는 비트는 버려짐 >>> UNSIGNED RIGHT SHIFT a >>> b 비트를 오른쪽으로 지정된 수만큼 이동 왼쪽에..
2023.05.26 -
참조
안드로이드 프로젝트를 만들면서 문제점을 하나 만났다. 현재 화면에서 보여주고 있는 ListA가 있다. 그리고 서버와 통신해서 데이터를 받아와 ListA를 누적하는 ListB가 있다. 순서1 : ListA(0개) -> ListB(20개) 순서1 : ListA(20개) -> ListB(40개) ListA는 최초에 0개이다. ListA는 ListB보다 언제나 작다. 아이템의 개수를 비교하여 차이나는 아이템만큼 화면에 띄워진 리스트를 업데이트 하려고 한다. 그런데 ListA가 ListB와 언제나 똑같다면? 그래서 리스트가 가진 아이템의 차이를 화면이 파악하지 못한다면? 이유는 참조에 있다. ListA가 현재 띄워져있는 리스트이자, 화면을 띄우기 위한 어댑터에 연결되어 있는 리스트이다. ListA에 변경된 Lis..
2023.02.24 -
Interface(인터페이스)
인터페이스 개요 1. 인터페이스란? 사물과 사물 사이 또는 사물과 인간 사이의 경계에서, 상호 간의 소통을 위해 만들어진 물리적 매개체나 프로토콜 주로 컴퓨터 분야에서 사용되는 용어이며, I/F로 축약하여 사용 구분 : 하드웨어 인터페이스, 소프트웨어 인터페이스, 사용자 인터페이스 2. 인터페이스 특징 100% 추상 클래스 인터페이스의 모든 메소드는 자동으로 public abstract method 가 됨 추상 클래스(abstract class)와 구분하기 위해 선언 시에는 클래스(class) 키워드 대신 인터페이스(interface) 키워드를 사용 다형성 제공 상위 객체에 하위 객체를 참조하게 하여 신규로 추가되는 하위 객체에 대해서도 동일한 규약을 가지게 하는 것처럼 인터페이스(interface)도 ..
2021.07.26