profile
끄적끄적

[Kotlin] 클래스, 객체, 인터페이스(4)

1. object : 클래스 선언과 인스턴스 생성 object 키워드를 통해 클래스를 정의하는 동시에 객체를 생성한다. 싱글턴을 정의하는 방법 중 하나이다. companion object는 인스턴스 메소드는 아니지만 어떤 클래스와 관련 있는 메소드와 팩토리 메소드를

2022년 4월 3일
·
0개의 댓글
·

[Kotlin] 클래스, 객체, 인터페이스(3)

1. 모든 클래스가 정의해야 하는 메소드 문자열 표현: toString() 주로 디버깅이나 로깅 시 이 메소드를 사용한다. 객체의 동등성: equals() 코틀린에서 == 연산자는 참조 동일성을 검사하지 않고 객체의 동등성을 검사한다. 따라서 == 연산은 equal

2022년 3월 29일
·
0개의 댓글
·

[OS] 프로세스와 스레드

프로그램이란?파일이 저장 장치에 저장되어 있지만 메모리에 올라와 있지 않는 정적인 상태(실행시킬 수 있는 파일)운영체제로부터 시스템 자원을 할당받는 작업의 단위실행 중인 프로그램위 그림은 프로세스가 실행될 때, 메모리에 생기는 주소 공간이다.Text 영역 - 사용자가

2022년 3월 14일
·
0개의 댓글
·

[OS] 동시성과 병렬성

1. 동시성 (Concurrency) 동시에 실행되는 것 처럼 보이는 것 싱글 코어에서 멀티쓰레드를 동작시키는 방식 논리적인 개념 2. 병렬성 (Parallelism) 실제로 동시에 여러 작업이 처리되는 것 멀티 코어에서 멀티 쓰레드를 동작시키는 방식 물리적인 개념

2022년 3월 14일
·
0개의 댓글
·

[Kotlin] 클래스, 객체, 인터페이스(2)

1. 내부 클래스와 중첩 클래스: 기본적으로 중첩 클래스!! 코틀린의 중첩 클래스는 명시적으로 요청하지 않는 한 외부 클래스 인스턴스에 대한 접근 권한이 없다. ( Java의 정적 중첩 클래스와 대응한다 ) Java의 경우 Button을 직렬화하면 java.io.No

2022년 2월 7일
·
0개의 댓글
·

[Kotlin] Serializable vs Parcelable

1. Serializable이란? >Java의 마커 인터페이스 직렬화란 컴퓨터의 메모리 상에 존재하는 데이터를 파일로써 저장하거나, 통신하는 다른 컴퓨터에게 알맞은 형식에 맞추어 전달하기 위해 바이트 스트림 형태로 만드는 것을 의미한다. >프로그램에서 사용되는 데이터

2022년 1월 30일
·
0개의 댓글
·

[Android] 클린 아키텍처

로버트 C. 마틴이 만든 소프트웨어 관심사를 계층별로 분리하는 소프트웨어 디자인 철학.Use Case를 중심으로 설계..!!!!내부원에 있는 것은 정책이고 바깥으로 갈수록 정책을 수행하는 메커니즘으로 구성된다.주요 원칙의존성이 외부 -> 내부 방향으로 존재한다. ( 내

2022년 1월 24일
·
0개의 댓글
·

[Kotlin] 클래스, 객체, 인터페이스(1)

코틀린의 인터페이스 기본 선언은 final이며 public이다.코틀린 인터페이스는 자바 8의 인터페이스와 비슷한데 추상 메소드뿐 아니라 구현이 있는 메소드도 정의할 수 있다. 단, 필드는 들어갈 수 없다.자바는 extends와 implements를 사용하지만 코틀린에서

2022년 1월 17일
·
0개의 댓글
·

[Android] Jetpack 컴포넌트 - LiveData(1)

관찰 가능한(Observable) 데이터 클래스로 Lifecycle을 통해 생명주기를 인식하고 activity나 fragment, service와 컴포넌트들의 생명 주기를 따른다.LiveData는 데이터 변경을 활성화된 Observer를 통해서 알려주는데 주어진 Lif

2022년 1월 13일
·
0개의 댓글
·

[Android] Jetpack 컴포넌트 - Lifecycles

Activity나 Fragment 같은 다른 컴포넌트의 Lifecycle이 변경될 때 이에 대응하는 라이브러리.Component(안드로이드 component가 아닌 자신 만의 역할이 있는 코드 component)가 lifecycleOwner의 상태변화를 observe하

2022년 1월 13일
·
0개의 댓글
·

[Android] Jetpack 컴포넌트 - Data Binding(1)

1. Jetpack 컴포넌트 > 생산성을 높여 개발할 수 있게 돕는 라이브러리, 도구, 가이드의 모음 androidx.* 패키지 라이브러리로 제공된다. Foundation, Architecture, Behavior, User Interface 4개 카테고리로 분류된다

2022년 1월 10일
·
0개의 댓글
·

[Kotlin] 함수(3)

파라미터 앞에 vararg를 붙이면 가변 인자를 사용할 수 있다.코틀린에서는 배열을 명시적으로 풀어서 배열의 각 원소가 인자로 전달되게 해야 한다. 배열 앞에 \*를 붙이면 스프레드 연산자가 해당 작업을 진행한다.중위 호출 : 수신 객체와 유일한 메소드 인자 사이에

2022년 1월 4일
·
0개의 댓글
·

[Kotlin] 함수(2)

1. 확장함수 > 어떤 클래스의 멤버 메소드인 것처럼 호출할 수 있지만 그 클래스의 밖에 선언된 함수이다. 확장 함수를 만들려면 추가하려는 함수 이름 앞에 그 함수가 확장할 클래스의 이름을 덧붙이기만 하면 된다. 수신 객체 타입 (receiver type) : 확장

2022년 1월 4일
·
0개의 댓글
·

[Kotlin] 함수(1)

코틀린은 자체 collection을 제공하지 않는데 이는 표준 자바 collection을 활용하면 자바 코드와 상호작용하기가 훨씬 쉽기 때문이다.다시 말해서, 코틀린 collection은 자바 collection과 똑같은 class이다. 하지만 확장함수를 통해 자바보다

2022년 1월 1일
·
0개의 댓글
·

[Kotlin] 코틀린 기초(5) - 예외 처리

코틀린에서 Exception 처리는 Java나 다른 언어와 비슷하다.함수를 정상적으로 종료할 수 있지만 오류가 발생하면 Exception을 throw할 수 있다.함수를 호출하는 쪽에서 그 Exception을 잡아 처리하거나 함수 호출 단에서 catch하지 않는다면 함수

2021년 12월 26일
·
0개의 댓글
·

[Kotlin] 코틀린 기초(4) - Iteration

while 루프코틀린에는 while과 do-while 루프가 있다. 두 루프의 문법은 자바와 같다.코틀린에서는 자바의 for 루프( 초깃값, 증가 값, 최종 값)를 대신하기 위해 range를 사용한다. range는 기본적으로 두 값으로 이뤄진 구간이며 양끝을 포함한다.

2021년 12월 26일
·
0개의 댓글
·

[Kotlin] 코틀린 기초(3) - when

when도 if문과 마찬가지로 값을 만들어내는 expression이므로 다음과 같이 쓸 수 있다.Java와 달리 분기의 끝에 break를 넣지 않아도 된다.여러 값을 매치 패턴으로 사용할 경우, 값 사이에 콤마( , )로 구분한다.Kotlin when의 분기 조건은 임

2021년 12월 26일
·
0개의 댓글
·

[Kotlin] 코틀린 기초(2) - enum

1. enum 클래스 > Enum은 열거형이라 불리며, 서로 연관된 상수들의 집합이다. 2. enum을 사용하지 않고 상수를 정의하는 다양한 방법 const val 사용 -> 상수가 늘어날수록 가독성이 떨어지고, 각각의 상수 집합에서 같은 이름으로 정의된 상수가 있

2021년 12월 26일
·
0개의 댓글
·

[Kotlin] 코틀린 기초(1)

함수를 선언할 땐 fun 키워드를 사용한다.함수를 최상위 수준에 정의할 수 있다. 즉, 자바와 달리 클래스 안에 함수를 넣어야 할 필요가 없다.\-> 코틀린에서 if문은 statement가 아니라 expression이다.expression : 값을 만들어내며 다른 ex

2021년 12월 26일
·
0개의 댓글
·
post-thumbnail

[Android] FragmentManager

Fragment에서 작업을 추가, 삭제 또는 교체하고 백 스택에 추가하는 등의 작업을 실행하는 클래스Activity에서 액세스getSupportFragmentManager()메서드를 통해 FragmentManager를 사용할 수 있다. (Kotlin에서는 support

2021년 12월 20일
·
0개의 댓글
·