무단 도용 및 복제, 사용 저작권 안내
수업 목적 외에 모든 교안 자료를 무단으로 도용 (URL 연결, 복제, 공유),
불법으로 복사하여 배포하는 것을 금지합니다. 꼭 지켜주세요!
1. 캡슐화
•
객체가 가지고 있는 변수는 메서드에 구현한 코드가 정상적으로 동작하기 위한 데이터를 담고 있다.
•
만약 변수에 엉뚱한 데이터가 담긴다면 구현한 코드가 정상적으로 동작한다고 하더라도 정상적인 결과가 나올 수 없게 된다.
•
이에 변수의 직접적인 접근을 차단하여 외부에서 값을 변경하지 못하도록 막는 것을 캡슐화라고 부른다.
2. Property
•
캡슐화가 적용된 변수는 외부에서의 접근이 차단된다.
•
캡슐화가 적용된 변수에 대해 메서드를 통해 값을 설정하거나 가져다 사용할 수 있도록 구성한 것을 Property 라고 부른다.
•
변수에 값을 넣는 메서드를 setter라고 부른다.
•
변수가 가지고 있는 값을 반환하는 메서드를 getter라고 부른다.
3. Property 작성 방법
•
private 키워드를 변수에 설정하여 외부에서 접근하지 못하도록 막는다.
•
변수들 중에 외부에 공개하고자 하는 변수에 대해 setter와 getter를 지정한다.
4. 주 생성자 사용하기
•
주 생성자의 매개 변수를 정의할 때 var, val를 지정하면 Property로 작성된다.
•
var 는 getter, setter 모두 작성된다.
•
val 은 getter 만 작성된다.
class TestClass1(var a1:Int, val a2:Int)
Kotlin
복사
5. 클래스의 멤버 변수
•
클래스의 변수를 선언할 때 var와 val에 따라 Property가 작성된다.
•
var의 경우 setter와 getter가 모두 작성된다.
•
val의 경우 getter만 작성된다.
class TestClass2(a1:Int, a2:Int){
var v1:Int = a1
val v2:Int = a2
}
Kotlin
복사
6. 학습 정리
정리
•
외부에서 변수에 대해 직접적인 접근을 차단하는 것을 캡슐화라고 부른다.
•
캡슐화를 적용한 변수에 값을 넣거나 가져다 사용할 수 있도록 setter/getter를 설정한 것을 Property라고 부른다.