본문 바로가기

전체 글134

8. 클래스, 생성자, 보조생성자 코드테스트 사이트:play.kotlinlang.org 참조:유튜브 디모의 코틀린 클래스의 기본구조 fun main() { //클래스:'값'과 그 값을 사용하는 '기능'들을 묶어놓은 것. //속성(고유의 특징값)과, 함수(기능의 구현)으로 이루어져 있음 var a = Person("박보영",1990) //변수선언,할당연산자 적은 후 클래스 이름 적은 뒤 //클래스 선언시 적은 순서대로 괄호안에 객체 속성 기입 var b = Person("전정국",1997) var c = Person("장원영",2004) //이 인스턴스를 담은 변수를 어떻게 사용?? //변수명.(참조연산자 점)속성명(참조하려는 속성의 이름) println("안녕하세요, ${a.birthYear}년생 ${a.name}입니다.") //자주사용.. 2023. 4. 30.
7. 조건문과 비교연산자, 흐름제어와 논리연산자 코드테스트 사이트:play.kotlinlang.org 참조:유튜브 디모의 코틀린 조건문과 비교연산자 fun main(){ //조건문,비교연산자 var a =11 //조건문 테스트 위해 변수 만들고 정수 대입 if(a > 10) { println("a는 10보다 크다.") //조건문 하나면 중괄호 생략 가능 } else{ println("a는 10보다 작거나 같다.") //거짓일 경우의 조건문 } a is int //자료형 맞는지 체크하는 연산자 a !is int //자료형 틀린지 체크 //when //다중비교문, 하나의 변수를 여러 개의 값과 비교 가능, //다른 언어의 switch문을 개편 fun doWhen (a:Any){ //Any자료형:어떤 자료형이든 호환되는 코틀린 최상위 자료형! when(a).. 2023. 4. 30.
6. 형변환과 배열, 타입추론과 함수 코드테스트 사이트:play.kotlinlang.org 참조:유튜브 디모의 코틀린 fun main(){ // 형변환 // 형변환함수 // toByte() // toInt() 등 var a:Int = 123 //var b:Long = a //코틀린에서는 할당만 해서는 변환되지 않음 var b:Long = a.toLong() //형변환 위해서는 형변환 함수 필요! // int형 변수의 toLong() 함수를 호출하여 Long 값으로 변환된 값을 // 반환받아 Long변수에 할당해줘야한다 (명시적 형변환,변환될 자료형을 // 개발자가 직접 지정), 다른언어들이 지원하는 암시적형변환(변수할당시 // 자료형 지정 안해도 자동 형변환)을 지원하지 않음 ​ // 배열 : 변수이름 저장하고 arrayOf 함수 통해 배열.. 2023. 4. 30.
5. 변수와 자료형-코틀린 코드테스트 사이트:play.kotlinlang.org 참조:유튜브 디모의 코틀린 클래스 이름은 파스칼 표기법:모든 단어를 대문자로 시작 ClassName처럼 함수나 변수 이름은 카멜 표기법:첫단어만 소문자 functionName처럼 변수 선언하는 걸 권장! ​ 구문 끝에 ;(세미콜론)안붙임! ​ 주석 // 쓰거나 /*여러줄 *주석 *달기*/ ​ /** * You can edit, run, and share this code. * play.kotlinlang.org */ fun main() { println("Hello, world!!!") //끝에 세미콜론 안붙음 /*여러줄주석 * 쓸 수 있음 */ var //일반적으로 통용되는 변수, 언제든 읽기쓰기 가능 val //선언시에만 초기화 가능, 중간에 값 .. 2023. 4. 30.
4. 익명객체와 옵저버 패턴-코틀린 7일차 코드테스트 사이트:play.kotlinlang.org 참조:유튜브 디모의 코틀린 //observer(옵저버):이벤트가 일어나는 것을 감시하는 감시자 //이벤트: ex.안드로이드에서, 키의 입력, 터치의 발생, 데이터의 수신 등 // 함수로 직접 요청하지 않았지만 시스템 또는 루틴에 의해서 발생하게 되는 // 동작들 //옵저버 패턴:이벤트가 발생할 때마다 '즉각적으로 처리'할 수 있도록 만드는 // 프로그래밍 패턴 //이벤트 수신하는 클래스와 이벤트 발생 및 전달하는 클래스,총 두개 클래스 필요 //후자 클래스는 전자 클래스를 참조할 수 없어서 둘을 매개하는 // '인터페이스'를 사용함 //후자에서는 자신의 이벤트를 받을 수 있는 인터페이스를 만들어 공개하고, // 전자는 이를 구현하여 후자에 넘겨줌. 이.. 2023. 4. 11.
3. 오브젝트-코틀린 6일차-(2) 스코프 함수 하다가 머리 터질것같아서 도망쳐옴 코드테스트 사이트:play.kotlinlang.org 참조:유튜브 디모의 코틀린 오브젝트 //오브젝트:생성자 없이 객체를 만들어냄 //클래스:단지 인스턴스 만들기 위한 '틀'이라서, 내부에 있는 속성이나 함수를 //사용하려면 생성자를 통해 실체가 되는 인스턴스 객체를 만들어야 함. //그런데, 단 하나의 객체만으로 공통적인 속성과 함수를 사용해야 하는 코드에서는 //굳이 클래스 말고 오브젝트를 쓰면 된다~ //cf.singleton pattern:클래스의 인스턴스를 단 하나만 만들어 사용하도록 // 하는 코딩 아키텍쳐 패턴 //코드 아무데서나 호출해서 호출한 횟수 세는 counter라는 오브젝트 만들어보자~ fun main() { println(Counter.. 2023. 4. 4.