프로젝트를 진행하면서 클래스의 상속과 추상클래스, 배열, 컬렉션에 관해 지식이 부족한것 같아 공부했습니다.

[출처:https://developer.android.com/codelabs/basic-android-kotlin-training-classes-and-inheritance?hl=ko#1 ]
여기서 EditText와 Button 클래스는 TextView와 View 클래스의 모든 속성과 메서드를 상속받고 각 클래스의 고유의 로직도 추가가 가능합니다.
클래스를 상속할때는 open 키워드를 통해 클래스를 열어주어야 상속이 가능합니다.
추상 클래스는 직접 인스턴스화 할 수 없고 다른 클래스의 상위 클래스 역할만 할 수 있다.
추상 클래스는 abstract로 선언되고 abstract 멤버는 클래스 내에서 아무런 구현이 없다.
추상 메서드는 반드시 override 해야 하고 일반 상속과 마찬가지로 open 키워드도 명시해야한다.
인터페이스와 많이 비교가 되는데 인터페이스는 메서드나 프로퍼티를 포함하고 추상 클래스와는 다르게 자체적인 인스턴스 상태나 생성자를 만들 수는 없다.
배열의 가장 큰 목적은 변수에 순서를 매겨 활용할 수 있고 연속적으로 활용할 수 있다.
배열을 사용하기 위해 arrayOf 메소드를 사용한다.
var arr = arrayOf(1,2,3,4,5)
다음은 arr이라는 배열인데 1~5까지의 번호가 변수 5개의 배열형태로 arr에 저장되었다.
println(arr[0])을 입력하면 배열의 1번째 인덱스가 출력된다. 해당 배열의 첫번째 인덱스는 1번이기 때문에 출력해보면 1번이 출력될것이다.
배열은 변수들을 각각 선언하기보다 같은 자료형의 변수들을 묶어 효율적으로 코드를 작성할 수 있게 해줍니다.
List
리스트는 읽기전용(listOf)와 수정가능한 종류(mutableListOf)로 구분가능하고 배열과는 다르게 크기가 정해져있지 않아 동적으로 값을 추가할 수 있다.
수정가능한 리스트에는 ArrayList<자료형>(값1, 값2, 값3)도 있다. 저장할 자료형을 <>안에 지정해야 사용할 수 있다.
Map
맵은 키와 값의 쌍으로 이루어진 자료형으로 읽기전용(mapOf)과 수정가능한 종류(mutableMapOf)가 있다.
맵은 var score = mapOf("key" to "value")와 같은 형태로 이루어져있고 key와 value 동시에 추출해서 사용할 수 있다.
Set
셋은 순서가 없고 중복없이 데이터를 관리하는 집합 자료형이다. 마찬가지로 읽기전용(setOf)와 수정가능한 종류(mutableSetOf)로 두 종류가 있다.
다른 컬렉션들은 요소를 찾을 수 있지만 set은 요소가 존재하는지에 집중한다.
.
.
.
.
.
오늘은 과제를 진행하면서 모자랐던 부분을 공부해봤는데 역시 보는 것보다는 직접 사용해보면서
형태와 쓰임새를 알아보는게 제일 좋은 것 같다. 주말동안은 과제 보완을 해봐야겠다.
오늘은 몸이 좀 안좋아서 좀 집중을 못한거 같은데 주말 이용해서 과제 보완하고 추가 공부 하면서 좀
바쁘게 보내야겠다. 다음 주도 화이팅!