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

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)
  • 방명록

kotlin문법 (9)
[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] 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
[Kotlin] 오버라이딩과 추상화

😶‍🌫️ Kotlin에서의 상속 Kotlin에서는 상속시 sub class에서 super class와 같은 이름의 함수를 만들 수는 없다. 하지만 super class에서 허용만 한다면 overriding을 통해 sub class에서 같은 이름의 함수를 만들 수 있다. 당연히 overriding을 하기 위해서는 super class의 해당 함수 앞에 open을 붙인 뒤 sub class에서는 override를 붙이면 된다. 다음과 같은 코드를 확인해보자 fun main(args: Array) { val s = Student() s.studying() } open class KotlinOverriding { open fun studying() { println("여러분은 지금 상속과 추상화에 대한 개념을 ..

Android/Kotlin 2021. 12. 6. 21:46
[Java] Overriding vs Overloading

Override: 새롭게 정의하다 상속은 상위 클래스의 기능을 하위 클래스에게 물려주는 기능이다. 예를 들어서 상위 클래스의 기능을 하위 클래스가 수정없이 그대로 사용하게 될 경우 어떻게 될까? 상당한 제약이 있을 것이다. 이러한 제약에서 벗어나기 위해서는 서브 클래스가 슈퍼 클래스의 메소드를 변경할 수 있어야 한다. 이러한 맥락이 바로 Overriding이다. 즉 자바에서는 부모의 기능만을 사용하는 것이 아니라 부모의 기능을 수정 및 재정의하여 자식 클래스가 사용할 수 있도록 해주는 것이 바로 Overriding이다. Overriding의 조건 Overriding을 하기 위해서는 Super class method의 리턴 형식과 Sub class method의 리턴형식이 같아야 한다. 즉 Super cl..

Spring/Java 2021. 12. 6. 19:53
[Kotlin] 상속

출처: 테크과학! DiMo테크과학! DiMo Kotlin 강좌 #10 - 클래스의 상속 상속을 사용하는 이유는 다음과 같다. 기존 class의 기능을 활용하여 새로운 기능을 추가하는 class 만드는 경우 여러 개의 class를 만들었는데, 공통적인 기능이 있어 이를 따로 class로 만들어 관리하려고 하는 경우 Super Class: 여기서 속성과 함수를 물려주는 쪽 Sub Class: 여기서 속성과 함수를 물려받는 쪽 Kotlin에서 상속의 조건은 2가지 있음. Sub Class는 Super Class에 존재하는 속성과 같은 이름의 속성을 갖을 수 없음 Sub Class가 호출될 때는 반드시 Super Class의 생성자까지 호출되어야 함. fun main(args: Array) { var a = A..

Android/Kotlin 2021. 12. 5. 21:55
이전 1 2 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • Junku's Github
  • Junku's Git Blog
TAG
  • Python
  • 프로그래머스
  • 백준
  • 앱개발
  • 카카오
  • 중첩클래스와 내부클래스
  • Kotlin
  • 구간 합 구하기 4
  • Class
  • Java
  • 비전공개발자
  • 참조연산자
  • 일반파라미터
  • 싸피5기
  • 생성자
  • 추가합격후기
  • 백준 #숨박꼭질3 #다익스트라 #알고리즘 #비전공개발자 #풀스택 #웹개발 #앱개발 #안드로이드 #python
  • 보조생성자
  • Java #객체지향 #상속 #생성자 #개념 #비전공개발자 #FullStack을 #향해
  • 안드로이드 #안드로이드스튜디오 #Kotlin #앱개발 #안드로이드기초 #비전공개발자 #풀스택개발자 #앱개발자
  • 백준알고리즘 #BFS #델타이동 #알고리즘풀이 #개발 #안전영역 #풀스택개발자가되고싶습니다. #노력할래요 # 꾸준히 # 화이팅! #비전공개발자
  • 안드로이드
  • 기본생성자
  • 알고리즘
  • Programmers #알고리즘 #Python #KAKAOINTERNSHIP #비전공개발자 #불량사용자
  • kotlin문법
  • 비전공싸피합격
  • 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

티스토리툴바