목록전체 글 (194)
제이슨의 개발이야기

안녕하세요 제가 요즘 면접 준비하고 있어서 자료구조 관련 면접 질문 대비를 해보려구 합니다! 1. 시간 복잡도 란? 시간복잡도는 이 알고리즘이 결과를 도출하는데 얼마나의 시간이 걸리는 지에 대한 값 2. 공간 복잡도 란? 공간복잡도는 이 알고리즘이 결과를 도출하는데 얼마나의 공간이 필요한 지에 대한 값 3. 연결리스트에 대해서 설명하기 { 연결 리스트는 데이터를 감싼 노드를 포인터로 연결해서 공간적인 효율성을 극대화시킨 자료 구조 입니다. 삽입과 삭제가 O(1)이 걸리며 탐색에는 O(n)이 걸립니다 연결 리스트에는 3종류가 있는대 1. 싱글 연결 리스트 : 다음 노드의 주소만 가지고 있다 2. 이중 연결 리스트 : 다음 노드와 이전 노드의 주소를 가지고 있고 가장 첫번째 노드의 이전 주소값은 null 마..

안녕하세요 오늘은 안드로이드 Context가 무엇인지 공부하려고 합니다!! Context 란?? Context 란 어플리케이션 현재 상태의 맥락을 의미합니다 Context는 생성된 객체가 어떤 일이 일어나고 있는지 알 수 있습니다 Context 는 리소스. 데이터베이스, preferences 등에 시스템 자원에 대한 접근을 제공하고 뿐만 아니라 Activity 시작, Intent 수신과 브로드캐스팅 등의 Application 수준 작업의 호출이 가능하다.\ Context는 Android 시스템에서 구현을 제공하는 추상 클래스이고 Application 과 Activity는 Context를 확장한 서브 클래스 입니다 따라서 액티비티와 애플리케이션에 대한 정보를 얻기 위해서는 컨텍스트를 사용하고 여러 리소스 ..

안녕하세요 오늘은 코틀린 스코프 함수에 대해서 공부하려고 합니다! 코틀린 범위 지정 함수에는 5개의 함수가 있는대 apply, run , with , also , let 이 있습니다 일단 스코프 함수란 함수형 언어의 특징을 좀 더 편리하게 사용할 수 있도록 제공하는 라이브러리 함수 입니다 1.apply apply는 인스턴스를 생성한 후 변수에 담기 전에 초기화 과정을 수행할 때 많이 쓰입니다 val adam = Person("Adam").apply { age = 32 city = "London" } println(adam) 2. run run은 apply처럼 스코프 안에서 참조 연산자를 사용하지 않아도 된다는 점은 같지만 일반 람다 함수 처럼 인스턴스 대신 마지막에 결과값을 반환하는 차이가 있습니다 va..

안녕하세요! 개발자에게 있어서 또 객체지향 프로그래밍에 있어서 필수 지식 SOLID 원칙 에 대해서 공부하려고 합니다! 1. 단일 책임 원칙 (Single Responsibility) 단일 책임 원칙은 하나의 class 는 하나의 책임(기능)만을 가져야 하는 원칙 입니다. 그리고 이러한 원칙을 지키는 class를 변경하게 되는 이유는 하나여야합니다. 예를 들어 로봇 class 가 있다면 요리사 로봇 , 개발자 로봇 , 목수 로봇 등 많은 종류의 로봇이 존재합니다 이때 각각의 로봇의 기능을 하나의 로봇 class에 구현하게 되면 아래의 이미지 처럼 됩니다 위의 이미지는 명백히 단일 책임 원칙을 위반하는 방식 입니다 하나의 클래스에 여러개의 책임(기능)이 존재하기 때문입니다 이 원칙을 지키기 위해서는 각 기..