분류 전체보기(165)
-
240515_디모의 코틀린 강의 #13강. 변수/함수/클래스의 접근범위와 접근제한자
유튜브 - 디모의 코틀린 문법 강의 정리 #13강. 변수/함수/클래스의 접근 범위와 접근제한자 1. 스코프: 언어 차원에서 변수, 함수, 클래스 등의 멤버들을 서로 공유할 수 있는 범위를 지정해 둔 단위 2. 스코프의 규칙 1) 스코프 외부에서는 스코프 내부의 멤버를 참조연산자로만 참조할 수 있다. ( 예시: a.eat() ) 2) 동일 스코프 내에서는 멤버를 공유할 수 있다. 3) 하위 스코프에서 상위 스코프의 멤버를 재정의할 수 있다. val a = "패키지 스코프"class B { fun print(){ println(a) }}fun main(){ println(a) B.print()}// "패키지 스코프" 2번 출력 ==> 변수 a는 클래스 B나 main 함수에 속해있지 않지..
2024.05.14 -
240514_디모의 코틀린 강의 #12강. 기본 프로젝트 구조
유튜브 - 디모의 코틀린 문법 강의 정리 #12강. 기본 프로젝트 구조 1. 프로젝트: 어플의 모든 내용을 담는 틀2. 모듈: 프로젝트를 구성하는 큰 단위 (파일, 폴더, 설정, 리소스 등)3. 패키지: 어플 개발 시 소스코드의 소속을 지정하기 위한 논리적 단위 * 일반적 패키지명: 도메인거꾸로.프로젝트명.기능(예시: com.youtube.dimo.base) 4. 코드 파일을 패키지에 넣는 법: 코드 맨 위에 package "패키지명" 작성 * 작성하지 않는 경우 자동으로 default 패키지로 묶임) * 같은 패키지 내에서는 변수, 함수, 클래스를 사용 가능 * 다른 패키지 내에서는 import가 필요함(import + "외부 패키지명")
2024.05.14 -
240513_디모의 코틀린 강의 #11강. 오버라이딩과 추상화
유튜브 - 디모의 코틀린 문법 강의 정리 #11강. 오버라이딩과 추상화 1. 오버라이딩: 클래스 상속 시 예외적으로 슈퍼클래스와 이름/형태가 같은 함수를 서브클래스에서 구현할 수 있는 기능 open Animal { open fun eat(){ // 오버라이딩을 하려면 수퍼클래스 내에 오버라이딩을 허용하려는 함수에 'open' 키워드를 붙여줌 println("음식 먹기") }}// 서브클래스 타이거 생성class Tiger : Animal() { overriide fun eat(){ // 오버라이딩하려는 함수 앞에 override 키워드를 붙여주기 println("고기 먹기") // 수퍼클래스와 이름이 같은 eat() 함수인데 다른 기능을 구현 }} 2. 추..
2024.05.14 -
240510_디모의 코틀린 강의 #10강. 클래스의 상속
유튜브 - 디모의 코틀린 문법 강의 정리 #10강. 클래스의 상속 1. 클래스의 분류 1) 수퍼 클래스: 물려주는 클래스 2) 서브 클래스: 물려받는 클래스class Animal(var name:String, var age:Int, var type:String){ fun introduce(){ println("${type} ${name}이고 ${age}살입니다.") }} 2. 클래스의 규칙 1) 서브 클래스는 수퍼 클래스에 존재하는 속성와 같은 이름의 속성을 가질 수 없다. 2) 서브 클래스가 생성될 때는 반드시 수퍼 클래스의 생성자까지 호출되어야 한다.// Animal 클래스로부터 상속받는 Dog, Cat 클래스를 생성open class Animal(var name:String, var a..
2024.05.06 -
240509_디모의 코틀린 문법 강의 #9강. 클래스의 생성자
유튜브 - 디모의 코틀린 문법 강의 정리 #9강. 클래스의 생성자 1. 생성자: 새로운 인스턴스를 만들기 위해 호출하는 특수한 함수 1) 생성자의 기능 - 인스턴스의 속성을 초기화 - 인스턴스 생성 시 구문을 수행(init 함수 사용) 2. init 함수: parameter나 반환형이 아닌, 생성자를 통해 인스턴스가 만들어질 때 호출되는 함수class Person(var name:String, val birthYear:Int){ init{ println("${this.birthYear}년생 ${this.name}님이 생성되었습니다.") // 인스턴스 자신의 속성이나 함수를 호출할 때는 클래스 내부에서 사용되는 키워드 'this'를 사용 }}var a = Person("박보영"..
2024.05.06 -
240508_디모의 코틀린 문법 강의 #8강. 클래스의 기본 구조
유튜브 - 디모의 코틀린 문법 강의 정리 #8강. 클래스의 기본 구조 1. 클래스: 속성(고유의 특징값) + 함수(기능의 구현) = 인스턴스를 만드는 틀 * 인스턴스: 클래스를 통해 만들어내는 서로 다른 속성의 개체// 사람의 이름과 출생연도를 관리하는 클래스var a = Person("박보영", 1990)var b = Person("차은우", 1997)var c = Person("장원영", 2004)println("안녕, 나는 ${a.birthYear}년생 ${a.name}이야") // 인스턴스의 속성을 인스턴스명.속성 형태로 호출// 클래스 생성class Person(var name:String, val brithYear:Int){ fun introduce(){ println("안녕하세요, $..
2024.05.06