분류 전체보기(31)
-
open class과 abstract class의 차이점
open class 1. 상속 받는 것도 가능하고 인스턴스화도 가능합니다. 2. open class를 상속 받는 클래스는 부모가 구현해 놓은 open fun을 그대로 가져다가 사용 가능하고 override로 재정의해서 사용할 수도 있습니다. abstract class 1. 상속 받는 것만 가능하고 인스턴스화가 불가능합니다. 2. 하나 이상의 abstract fun, property가 있다면 반드시 abstract로 선언해야합니다. 3. abstract class를 상속받는 클래스는 부모가 abstract fun, abstract property를 구현 해 놓았다면, 반드시 abstract fun, abstract property를 구현 및 정의해야 합니다. 개인적인 생각 open class : 제약 사항..
2023.02.10 -
Stack, Queue는 무엇일까?
스택(Stack) 스택은 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 구조를 말하며, LIFO(Last In First Out)으로 되어 있습니다. 즉, 마지막에 들어온 데이터가 제일 먼저 내보내집니다. 스택의특징 스택 내부의 데이터는, top 을 통해서만 접근할 수 있습니다. (top 은 가장 최근(마지막)에 들어온 자료를 의미합니다.) 스택에 데이터를 삽입할 때는, top 위에 쌓게 됩니다. ('push' 연산) 스택에서 데이터를 삭제할 때는, top 에 위치한 데이터를 삭제하게 됩니다. ('pop' 연산) 스택 사용 예시 역순 문자열 만들기 → ...PON..EDCBA 웹 브라우저 방문기록 (뒤로 가기) → 가장 마지막에 열린 페이지부터 노출 수식의 괄호 검사 (연산자 우선순위 표현을 위한 괄호 검사..
2023.02.09 -
Kotlin 문법을 알아보자#1
코틀린은 ; (세미콜론)을 사용하지 않고 생략합니다. 코틀린은 2가지 변수 선언 방식이 있습니다. val : 변할 수 없는 상수 (java: final, C/C++ : const) var: 변경 가능한 일반 변수 코틀린에서 함수 생성 방법 fun 함수명(변수명: 변수 타입): 리턴 타입 { return 값 } java와 다르게 좀 더 간략하게 표현이 가능합니다 코틀린에서 null nullable : ? nullable 이면 오류 발생 : !! 코틀린 Any Object 코틀린 Loop java의 for each문과 비슷한 사용법입니다. 코틀린 When java의 swich case문에 비해 확연히 보일러플레이트 코드가 줄었습니다. 코틀린 ranges 1 ~ 5까지의 값을 출력하는 loop
2021.02.24 -
HashMap, LinkedHashMap, TreeMap의 특성과 차이
HashMap - 내부적으로 Entry[] Entry 의 array 로 되어 있으며, 해당 array 에 index 는 내부 해쉬 함수를 통해 계산됩니다. - HashMap은 Map 인터페이스의 한 종류로 Key와 Value 한 쌍을 데이터로 가지고 있으며 Key를 통해 Value에 접근할 수 있습니다. - HashMap은 그 안에 들어있는 데이터를 Set 구조(key,value)로 저장하기 때문에 Set의 원칙대로 중복된 데이터를 허락하지 않으면서 순서가 없습니다. - hashing을 사용하기 때문에 많은양의 데이터를 검색하는데 뛰어난 성능을 가지고 있습니다. LinkedHashMap - LinkedHashMap은 순서를 유지하기 위해 이중 연결 리스트 Doubly Linked List를 사용합니다. ..
2021.02.17 -
HashSet, LinkedHashSet, TreeSet의 특성과 차이
HashSet - null 입력은 가능하지만 한 번만 저장 가능하고 중복될 수 없습니다. - 객체(데이터)를 중복 저장할 수 없고, 순서를 보장하지 않습니다. - 내부적으로 HashMap을 사용합니다. TreeSet - null 입력은 가능하지만 한 번만 저장 가능하고 중복될 수 없습니다. - 객체(데이터)를 중복 저장할 수 없지만 오름차순으로 데이터를 정렬합니다. - 내부적으로 TreeMap을 사용합니다. LinkedHashSet - null 입력은 가능하지만 한 번만 저장 가능하고 중복될 수 없습니다. - 객체(데이터)를 중복 저장할 수 없지만 입력한 순서대로 데이터를 정렬합니다. - 내부적으로 LinkedHashMap을 사용합니다. 시간 복잡도 HashSet > LinkedHashSet > Tree..
2021.02.10