본문 바로가기

전체 글

(159)
Kotlin이란(5) Access Modifier(접근 지정자) private 같은 클래스의 멤버 또는 해당 File에서만 접근 protected private과 기본적으로 접근 가능하고 Sub Class(자식클래스)에서 접근 가능 internal 같은 Module 내에서 접근 가능 public 어디서나 접근 가능 Property 필드와 메서드의 중간 역할 - 자바의 필드를 사용하는 것처럼 보이지만 메서드를 사용 get/set을 가짐 Boolean은 is,has 로 시작하는 속성이름을 보통 갖는다. Backing Field getter/setter를 재정의 init을 이용해서 초기화 하면 생성자 호출시 가장 먼저 실행 var null 허용으로 넛언후 나중에 초기화 늦은 초기화 lateinit 늦은 초기화 class Body에..
Kotlin이란(4) Kotlin Class 기본특징 Header & Body로 구성 Header Primary Constructor는 하나만 위치 할 수 있음 Body Property Secondary Constructor 변수에 값을 할당하듯 class는 객체를 생성해야 함 Constructor Primary & Secondary 주, 부 생성자 부 생성자는 constructor 키워드 사용 Primary Constructor Class Header에 존재, 클래스당 1개 생성자를 만들면 기본생성자는 제공하지 않음 인자값을 명시하듯 생성자에서도 가능 Init 생성자에 선언된 Type Parameter는 Local 변수로 인정됨 Secondary Constructor 보조생성자는 필요시 여러개 가능 (Overloading)..
Kotlin이란(3) 함수 Basic Funtion 가장 기본적인 형태 / fun 함수명(매개변수: 타입) 생성자를 제외하고 함수 파라미터는 val 타입 Single Expression Function 1줄로 표현한 형태 함수 블록이 2줄이상일 때는 리턴 타입을 명시 Function Overloading 이름이 같은데 파라미터 개수 또는 타입을 다르게 한 형태 Default & Named Arguments 매개변수에 기본 인자값을 적용한 상태 Local Function(Nested Function) 함수안에 함수가 존재 Member Function 클래스 안에 함수가 구현된 형태 (클래스의 멤버) Infix Fuction 중위 함수 Generic Function 범용 고차함수 구현시 자주사용? Inline Function 고..
Kotlin이란(2) 가변인자 varang 함수 인자의 개수가 고정되지 않고 몇개가 주어질지 모를 때 유용(파라미터의 마지막에 선언) spread(*) 배열의 모든 요소를 다른 인자와 같이 넘길 때 배열 ByteArray, ShortArray, IntArray, LongArray, FloatArray, DoubleArray, CharArray, BooleanArray byteArrayOf, shortArrayOf, intArrayOf, longArrayOf, floatArrayOf, doubleArrayOf, charArrayOf, booleanArrayOf 다른 타입 - arrayOf 함수 함수(function), 서브루틴(subroutine), 루틴(routine), 메서드(method), 프로시저(procedure)는 ..
Kotlin이란(1) 변수타입 var Mutable한 변수를 선언 var a = 10 a=15 가능 val Immutable한 변수를 선언 val b = 10 a=15 불가능 -> java랑 다르게 타입을 생략해도 추론가능함 하지만 나중에 값을 할당 할 땐 타입을 명시해야함 표현식 코틀린에서 표현식은 변수, 연산자로 구성되어 단일 값을 리턴하는 코딩표현을 의미 if, when, try는 문장이 아니라 표현식
Kotlin이란 Intellij를 개발한 JetBrains에서 개발 JVM에서 동작하는 Hybrid Language Hybrid Language = OOP + FP(Functional Programming) Modern Lauguage를 지향 정적 타입 언어 Compile시점에서 변수,필드, 메서드, 함수 타입을 확인 Kotlin은 Compile 시점에서 타입추론함 Kotlin 철학 실용성 간결성 안정성 Null 처리를 명확히해서 오류의 빈도를 낮출수 있음 자바와 상호운용
객체 지향 프로그래밍 사전적의미로 우주에 존재하는 모든 물질, 개념 등을 총칭한다. 그리고 상태와 행위를 가진다. 그러한 상태와 행위를 프로그래밍적으로 표현한 것이 객체 지향 프로그래밍이다. -> 상태와 동작을 가진 것들을 프로그래밍 적으로 표현하고자 하는 것 객체 모델링 사전학적 의미의 객체를 추상화 작업을 통해 프로그래밍 가능하도록 표현하는 작업 과정을 의미한다. -여기서 추상화 작업이란 보편적인 행위나 상태를 추출하는 과정을 말한다. 행위를 변경했을 때, 자동으로 상태 값이 변하는 것 객체의 필수 조건 1. 객체는 유일성을 가지고 있어야함(hashcode) 2. 객체는 추상 데이터 타입(보통 class)를 가지고 있어야함 3. 객체는 필드(속성)을 가질 수 있음 -필드란 데이터를 저장하는 슬롯 4. 객체는 메시지를 가질..