본문 바로가기 메뉴 바로가기

Junku's 개발 블로그

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

Junku's 개발 블로그

검색하기 폼
  • Junku's 관심분야! (41)
    • Machine Learning (0)
    • Deep Learning (0)
    • Unity (3)
    • Android (16)
      • Kotlin (11)
    • Vue.js (0)
    • Spring (8)
      • Java (8)
    • Django (0)
      • Python (0)
    • 운영체제 (0)
    • 네트워크 (0)
    • 알고리즘 (12)
      • Programmers (6)
      • BeakJoon (6)
      • SWEA (0)
    • iOS (0)
      • Swift (0)
    • 잡담 (1)
  • 방명록

Android/Kotlin (11)
[Kotlin] 중첩 클래스와 내부 클래스

코틀린에서는 클래스 내부에 클래스를 둘 수 있는 중첩 클래스를 지원한다. 중첩 클래스: 하나의 클래스가 다른 클래스의 기능과 강하게 연관되어 있다는 의미를 전달하기 위해 만들어진 형식 사용할 때는 외부 클래스의 이름 . 내부 클래스로 사용할 수 있다. class Outer { class Nested { // Outer.Nested() 로 사용 가능 } } 이때 중첩 클래스가 아니라 내부 클래스로 사용할 수 있는데, 다음과 같이 코드를 작성하면 된다. class Outer { inner class Nested { } } 이때 Nested는 혼자서는 객체를 만들 수는 없고 외부 클래스의 객체가 있어야만 생성과 사용이 가능하다. 그러면 왜 내부 클래스를 사용하는가? 중첩 클래스는 서로의 내용을 공유할 수 없으..

Android/Kotlin 2021. 12. 14. 07:47
[Kotlin] 함수의 argument를 다루는 방법과 infix 함수

코틀린에서도 대부분의 언어에서 지원하는 overloading을 지원한다. 이것은 같은 스코프 안에서 같은 이름의 함수 또는 메소드를 여러 개 만들 수 있는 기능인데, 이름이 같더라도 parameter의 이름이나 갯수가 다르다면 다른 함수 또는 메소드로 인식하게 된다. (Java와 같음) 다만 parameter의 갯수는 같으면서 자료형의 name이 다르면 overloading을 할 수는 없다. fun main(args: Array) { read(7) read("감사합니다.") } fun read(x: Int) { println("숫자 $x 입니다.") } fun read(x:String) { println(x) } --- // 숫자 7 입니다. // 감사합니다 출력값을 보면 들어가는 자료형에 따라 출력값이..

Android/Kotlin 2021. 12. 8. 16:32
[Kotlin] null 값을 처리하는 방법과 변수의 동일성 체크 방법

␀ null값을 처리하는 방법 코틀린의 언어 철학은 'null은 없다'로 자바 보다는 null 처리가 매우 간편한 편이다. 코틀린에서는 nullable 변수를 만들어 객체가 들어있지 않은 null상태의 변수를 만들 수 있는데, 하지만 null 상태로 속성이나 함수를 사용하려고 하면, null pointer exception이 발생하기 때문에 nullable 변수를 사용할 때는 null 체크를 해야 한다. 만약에 체크를 하지 않으면, 코드가 컴파일 되지 않는다. 그러면 if문으로 일일이 체크하지 않고 좀더 쉽게 null을 체크할 수 있는 방법은 없을까? 코틀린에서는 그런 방법이 존재한다. null safe operator: ?. null safe operator는 참조 연산자를 실행하기 전에..

Android/Kotlin 2021. 12. 8. 15:39
[Kotlin] List

list는 데이터를 모아 관리하는 collection class를 상속받는 sub class 중 가장 단순한 형태 여러 개의 데이터를 원하는 순서로 넣어 관리하는 형태이다. Kotlin에서는 list를 2가지로 나눠서 이야기하는데, List MutableList 두 클래스의 차이는 Mutable에서 알 수 있듯이 변하거나 변하지 않거나의 차이이다. 즉 List의 경우 생성시에 넣은 객체를 대체, 추가, 삭제 할 수 없지만, MutableList는 가능하다. 코틀린에서 List를 만들 때는 listOf() mutableListOf() 위 2가지를 이용할 수 있다. 또한 mutableListOf()를 사용했다면, 요소를 추가하거나 삭제할 수 있다. 맨뒤에 요소 추가: add(데이터) 특정 위치에 요소 추가:..

Android/Kotlin 2021. 12. 8. 15:38
[Kotlin] Generic

Generic: 클래스나 함수에서 사용하는 자료형을 외부에서 지정할 수 있는 기능 class A와 A를 상속받은 class B가 있다고 해보자. 이때 두 클래스의 인스턴스를 공용으로 사용하는 하나의 함수에 파라미터로 받으려면 어떻게 해야할까? 물론 다형성의 개념을 활용하여 캐스팅한 변수를 함수의 인자로 넣어줄 수 있는 방법이 존재하지만, 이는 프로그램의 속도를 저하시킬 수 있는 문제점을 앉고 있다. 그래서 Generic이라는 개념이 나왔다. Generic이라는 개념을 다시 이야기하자면, 함수나 클래스를 선언할 때 고정적인 자료형 대신 실제 자료형으로 대체되는 타입 패러미터를 받아서 사용하는 방법이다. 다음과 같이 할 수 있다. fun genericFunc(Param: T): T class GenericC..

Android/Kotlin 2021. 12. 7. 13:18
[Kotlin] 클래스의 다형성

😶‍🌫️ 다형성 이미 우리는 클래스의 상속을 통해 클래스를 확장하는 방법을 알고 있다. 다형성이라는 것은 어떻게 생각하면 좀 어려운 개념이지만, 간단한 예시로 이해하자면 다음과 같다. 점심을 먹을 때 중식, 한식, 양식, 일식 중 한식을 먹는다고 해보자. 이때 한식을 한식 자체로 볼 수도 있지만, 이를 확장시켜 음식이라는 특징으로 생각한다면, 어떨까? 좀 더 확장된다고 생각들지 않는가? 이게 바로 다형성이다. 다시 이야기하자면, 음식이라는 클래스와 이를 상속받은 한식이라는 클래스를 만든 뒤에 한식이라는 클래스로 koreanFood라는 인스턴스를 만든다면, koreanFood에는 음식이라는 클래스 공간에 한식이라는 클래스 공간이 추가된다. 이때 한식 인스턴스를 음식 변수에 담는 행위를 상위 자료형인 sup..

Android/Kotlin 2021. 12. 7. 08:16
[kotlin] 변수, 함수, 클래스의 접근범위와 접근제한자

프로젝트 구조 내에서 변수, 함수, 클래스의 '공용 범위'를 제어하는 단위인 스코프와 스코프 외부에서 내부로의 접근을 제어하는 접근 제한자가 무엇인지 알아보자. 😶‍🌫️ 코틀린에서의 스코프 scope: 범위 하나의 패키지에서 변수, 함수, 클래스가 존재하면 같은 스코프이지만, 함수, 클래스 내에 또 변수가 존재한다면, 이는 패키지의 스코프와는 다르다. 스코프의 규칙 스코프 외부에서는 스코프 내부의 맴버를 참조 연산자로만 참조가 가능하다. 이는 .으로 우리가 클래스의 속성과 함수에 접근했던 것과 같은 의미이다. 서로 다른 이름의 패키지를 참조하려고 할 때 import를 사용하는 것 또한 같은 의미이다. 동일 스코프 내에서는 맴버를 공유할 수 있다. 예를 들어서 패키지 명을 명시하지 않으면 kotlin에서는..

Android/Kotlin 2021. 12. 6. 22:26
[Kotlin] Kotlin의 기본 프로젝트 구조

😶‍🌫️ 파일 시스템에 기반한 물리적인 구조 프로젝트: Kotlin으로 어플리케이션을 만들 때 관련된 모든 내용을 담는 큰 틀이다. 모듈: 하나의 프로젝트는 여러 개의 모듈로 이뤄질 수 있다. 모듈은 직접 만들거나 필요한 기능을 미리 구현해 둔 라이브러리 모듈을 갖고와 붙일 수도 있다. 모듈안에는 다수의 폴더와 파일이 들어 갈 수 있다. 파일 및 폴더: 여기에는 Kotlin 파일 뿐만 아니라 모듈과 관련된 설정 및 리소스 파일도 들어 갈 수 있다. 😶‍🌫️ 코틀린의 논리적인 구조: 패키지 패키지: 개발시 소스 코드의 소속을 정하기 위한 논리적인 단위이다. 코드를 작성할 때는 코드 내에서 사용하는 이름이 용도에 따라 서로 충돌하지 않도록 유니크한 패키지 이름을 지어주는 것이 좋다. 일반적으로 패키지 이름을..

Android/Kotlin 2021. 12. 6. 21:48
이전 1 2 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • Junku's Github
  • Junku's Git Blog
TAG
  • kotlin문법
  • 백준
  • Java #객체지향 #상속 #생성자 #개념 #비전공개발자 #FullStack을 #향해
  • 프로그래머스
  • 싸피5기
  • 기본생성자
  • 생성자
  • 안드로이드 #안드로이드스튜디오 #Kotlin #앱개발 #안드로이드기초 #비전공개발자 #풀스택개발자 #앱개발자
  • 구간 합 구하기 4
  • 참조연산자
  • Kotlin
  • 코틀린
  • 백준 #숨박꼭질3 #다익스트라 #알고리즘 #비전공개발자 #풀스택 #웹개발 #앱개발 #안드로이드 #python
  • 비전공싸피합격
  • Programmers #알고리즘 #Python #KAKAOINTERNSHIP #비전공개발자 #불량사용자
  • 안드로이드
  • 보조생성자
  • Java
  • 앱개발
  • 중첩클래스와 내부클래스
  • 백준알고리즘 #BFS #델타이동 #알고리즘풀이 #개발 #안전영역 #풀스택개발자가되고싶습니다. #노력할래요 # 꾸준히 # 화이팅! #비전공개발자
  • 비전공개발자
  • 알고리즘
  • 일반파라미터
  • 추가합격후기
  • Class
  • Python
  • 카카오
  • DP
  • 프로젝트구조
more
«   2025/09   »
일 월 화 수 목 금 토
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바