object
[Kotlin/Basic] 코틀린에서의 object 키워드
1. static 함수와 변수 class Person private constructor( var name : String, var age : Int, ){ //static이 존재하지 않는다. //이는 Factory처럼 이름을 지어줄 수도 있고, 인터페이스를 구현해 줄 수도 있음 companion object Factory { //클래스와 동행하는 유일한 오브젝트라는 의미 //자바에서와의 static 변수와 함수처럼 활용된다. /* 정적으로 인스턴스끼리의 값을 공유 클래스가 인스턴스화 될 때 새로운 값이 복제되는 것이 아니라, */ private const val MIN_AGE = 1 //const 를 붙이면 컴파일 시에 변수가 할당된다. //런타임때 할당되는 것이 아니라, //진짜 상수에 붙이기 위한 ..
[JAVA-basic] 상속(2)
전 글에 이어서 포함관계의 예시를 살펴보자. Deck클래스를 작성하는데 Card클래스를 재사용하여 포함관계로 작성하였다. 카드 한 덱은 52장의 카드로 이루어져 있으므로 Card클래스를 크기가 52인 배열로 처리하였다. 그리고, random()을 사용하여 shuffle()을 실행할 때 마다 결과가 다르게 나타나게 하였다. 여기서 중요한 점이 있다. pick()은 Card객체 배열 cardArr에 저장된 Card객체 중에서 하나를 꺼내서 반환한다. Card객체 배열은 참조변수 배열이고, 이 배열에 실제로 저장된 것은 객체가 아니라 객체의 주소다. 따라서 반환형이 Card pick(int index)로 Card의 주소를 반환하는 것이다. 예를 들어, index의 값이 0이고, cardArr[0]의 값이 0x..