파라미터 데이터 타입의 명시 필요성 \- 만약 리턴 값이 없는 함수라면?함수의 인자를 함수 실행 중 변경할 수 있을까?식 하나가 본문인 함수circleArea 함수 선언문과 circleArea2 함수 선언문의 차이는 radius의 data type 명시의 여부이다.
동일한 이름의 함수를 파라미터의 개수, 타입 등에 따라 여러 버전으로 정의하는 프로그래밍.오버로딩의 예는 다음과 같다.같은 이름(sum)을 가진 두 함수가 있다. 그 둘의 차이는 오직 파라미터의 데이터 타입이다.첫번째 함수는 정수를 파라미터로 받아 그 둘의 합을 리턴하
열거형(또는 열거형 형식)은 기본 정수 숫자 형식의 명명된 상수 집합에 의해 정의되는 값 형식입니다. 열거형을 정의하려면 enum 키워드를 정의하고 열거형 멤버의 이름을 지정합니다.from: linkEnum이 무엇인지 제대로 아는 것보다 어떤 때 사용하는지 생각하면 E
코틀린에서 주 생성자를 작성하는 방법은 2가지 정도가 존재한다.주생성자를 숨겨 클래스 이외의 곳에서 인스턴스화 할 수 없게 만드려면 다음과 같이 선언한다.
코틀린의 상속은 모든 class에서 가능한 것이 아니며 open으로 명시한 클래스만 가능하다. 예제를 보자.그렇다면 open 키워드를 붙이지 않는다면 상속이 가능할까?StepParent 클래스는 final class 이기에 상속할 수 없다는 에러 메세지와 함께 에러가
다음의 코틀린 코드가 있을 때, 결과값을 예상해보자.결과는 false이다. 왜 그럴까?person1과 person2의 내용인 firstName, lastName, age가 모두 같지만 두 변수는 결국 다른 인스턴스를 가리키고 있기 때문이다.만약 프로그래머가 Person
다음 코드에는 오류가 있다. 어디에 있을까?바로 Any 타입은 \* 연산을 지원하지 않는다는 점에서 오류가 발생한다.그렇다면 Any의 배열에서 현재 obj가 만약 정수라면 sum을 더하고, 문자열이라면 출력해주는 코드로 수정해보자.타입 검사는 코틀린의 연산자인 is로
코틀린의 모든 객체는 직 간접적으로 Any 클래스를 상속한다.그렇기 때문에 Any 클래스의 public open 메서드인 toString(), equals(), hashCode()를 재정의 할 수 있다.equals(): 두 객체가 구조적으로 동등한가? 에 대한 불리언을
코틀린에서 추상 클래스는 abstract 키워드를 사용해 정의한다.추상 클래스는 인스턴스화 할 수 없으며 하위 클래스에 의해 상속될 수 있다.만약 어떤 클래스가 추상 클래스를 상속한다면 반드시 해당 추상 클래스의 추상 멤버들을 모두 초기화해야한다.다음은 추상 클래스의
기본적으로 코틀린에서 클래스 하나가 여러개의 클래스를 상속받는 것은 불가능하다.그렇지만 인터페이스를 사용하면 하나의 클래스가 여러개의 인터페이스를 상속받을 수 있다.그럼 예제를 통해 인터페이스의 활용을 알아보자인터페이스의 모든 프로퍼티와 함수는 abstract가 붙은