클래스
클래스는 **데이터(멤버 변수)**와 **동작(멤버 메서드)**를 하나로 묶어 재사용할 때 사용하는 문법입니다.
클래스 선언과 인스턴스 만들기
클래스는 클래스, 이름으로 선언하고, 인스턴스는 새 이름으로 생성합니다.
yak
클래스, 사람
약속, __준비__ (이름)
자신.이름 = 이름
자신.나이 = 10
약속, 소개
자신.이름 + ", " + 자신.나이 + "살" 반환하기
나 = 새 사람("달이")
나.소개 보여주기멤버 접근과 멤버 메서드 호출
- 멤버 변수는
인스턴스.이름형태로 접근합니다. - 멤버 메서드는
인스턴스. 약속호출형식으로 호출합니다. - 무인자 메서드는
인스턴스.메서드이름처럼 접근하면 자동 호출됩니다.
yak
클래스, 카운터
값 = 0
약속, 증가
자신.값 += 1
c = 새 카운터
c.증가
c.값 보여주기생성자 __준비__
인스턴스를 만들 때 자동으로 실행되는 약속은 __준비__입니다.
- 클래스 안에서
약속, __준비__ (...)로 선언합니다. - 인자 개수가 다른
__준비__를 여러 개 두면, 인스턴스 생성 시 인자 개수로 선택됩니다. - 생성자가 전혀 없으면
새 클래스(아무인자...)처럼 인자를 넣어도 무시하고 생성됩니다.
상속
부모 클래스를 지정하면 멤버를 물려받을 수 있습니다.
클래스, 자식(부모)클래스, 자식, 부모
두 문법을 모두 사용할 수 있습니다.
yak
클래스, 부모
약속, __준비__
자신.이름 = "부모초기화"
약속, 소개
자신.이름 반환하기
클래스, 자식(부모)
약속, __준비__ (나이)
상위.__준비__
자신.나이 = 나이
나 = 새 자식(4)
나.소개 보여주기
나.나이 보여주기자신과 상위
자신: 현재 인스턴스를 가리킵니다.상위: 부모 클래스 영역을 가리킵니다. 부모가 없는 클래스에서는 사용할 수 없습니다.
상위를 사용하면 부모 메서드를 호출하거나 부모 멤버를 참조할 수 있습니다.
직접 해보기
계좌 클래스를 만들고, 다음 요구사항을 만족하는 코드를 작성해보세요.
__준비__ (초기금액)에서자신.잔액초기화(금액) 입금하기약속으로 잔액 증가(금액) 출금하기약속으로 잔액 감소- 최종 잔액 출력
yak
클래스, 계좌
약속, __준비__ (초기금액)
자신.잔액 = 초기금액
약속, (금액) 입금하기
자신.잔액 += 금액
약속, (금액) 출금하기
자신.잔액 -= 금액
내계좌 = 새 계좌(100)
내계좌. (50 입금하기)
내계좌. (30 출금하기)
내계좌.잔액 보여주기