728x90 반응형 전체 글156 아토믹 코틀린 - 예외(Exception) 예외를 던질 때는 throw 키워드 다음에 던질 예외의 이름을 넣고 그 뒤에 예외에 필요한 인자들을 추가한다. fun averageIncome(income: Int, months: Int) = if (months == 0) throw IllegalArgumentException("Months can't be zero") else income / months 2023. 10. 2. 아토믹 코틀린 - 객체 - 패키지 DRY = Don't Repeat Yourself 코드를 재사용하려면 package 키워드를 사용해 패키지를 만들어라. package pythagorean import kotiln.mat.sqrt class RightTriangle( val a: Double, val b: Double ) { fun hypotenuse() = sqrt(a * a + b * b) fun area() = a * b / 2 } 파일이름이 항상 클래스 이름과 같아야하는 자바와 달리, 코틀린에서는 소스 코드 파일 이름으로 아무 이름이나 붙여도 좋다. 패키지 이름도 아무 이름이나 선택할 수 있다. 하지만 패키지 이름과 패키지 파일이 들어있는 디렉토리의 경로를 똑같이 하는 거이 좋은 스타일로 여겨진다. 2023. 10. 2. 아토믹 코틀린 - 객체 - 가시성 제한하기 소프트웨어를 설계할 때 1차적으로 고려해야 할 내용: 변화해야 하는 요소와 동일하게 유지되어야 하는 요소를 분리하라. 가시성을 제어하기 위해 코틀린은 접근 변경자(access modifier)를 제공한다. 예) public, private, protected, internal internal은 그 정의가 포함된 모듈 내부에서만 접근할 수 있다. internal은 private과 public 사이다. 2023. 10. 2. 아토믹 코틀린 - 객체 - 생성자 생성자는 객체를 초기화하는 특별한 멤버 함수와 비슷하다. 코틀린에서는 객체를 생성할 때 new 키워드가 필요없다. class Wombat fun main() { val wombat = Wombat() } 생성자에게 정보를 전달할 때는 파라미터 목록을 사용한다. class Alien(name: String) { val greeting = "Poor $name!" } fun main() { val alien = Alien("Jiyeong") println(alien.greeting) } //출력 Poor Jiyeong! 생성자 밖에서는 파라미터에 접근할 수 없다. (alien.name 안된단 뜻) 생성자 밖에서도 생성자 파라미터에 접근하도록 하고 싶다면, 파라미터 목록에 var/val를 지정하면 된다. cl.. 2023. 10. 2. 아토믹 코틀린 - 객체 - 프로퍼티 프로퍼티를 정의하는 목적 = 클래스 안에서의 상태 유지 var / val 는 객체가 아니라 참조를 제한한다. var를 사용하면 참조가 가르키는 대상을 다른 대상으로 다시 엮을 수 있지만, val을 사용하면 엮을 수 없다. var 프로퍼티는 재대입이 가능하지만, val 프로퍼티는 재대입이 불가능하다. 클래스 안에 정의한 var / val 은 클래스의 일부분이 된다. 따라서 점 표기법을 사용해야만 접근 가능하다. 멤버함수는 점 표기법을 쓰지 않고(=해당 프로퍼티를 한정하지 않고) 자신이 속한 객체의 프로퍼티에 접근할 수 있다. clss Cup2 { var percentFull = 0 val max = 100 fun add(increase: Int): Int { percentful += increase if .. 2023. 10. 2. 이전 1 ··· 6 7 8 9 10 11 12 ··· 32 다음 728x90 반응형