Skip to content

클래스와 상속

이 튜토리얼에서는 객체 지향 프로그래밍을 배웁니다.

클래스 정의

hik
클래스 학생:
    문자 이름
    정수 나이
    배열 성적

    생성(문자 이름, 정수 나이):
        자기.이름 = 이름
        자기.나이 = 나이
        자기.성적 = []

    함수 성적추가(정수 점수):
        추가(자기.성적, 점수)

    함수 평균() -> 실수:
        정수 합계 = 0
        각각 정수 점수 자기.성적 에서:
            합계 += 점수
        리턴 합계 / 길이(자기.성적)

    함수 소개() -> 문자:
        리턴 "{자기.이름} ({자기.나이}세)"

인스턴스 사용

hik
학생 홍길동 = 학생("홍길동", 20)
홍길동.성적추가(85)
홍길동.성적추가(92)
홍길동.성적추가(78)

출력(홍길동.소개())    // 홍길동 (20세)
출력(홍길동.평균())    // 85.0

상속

< 기호로 부모 클래스를 상속합니다:

hik
클래스 동물:
    문자 이름
    문자 종류

    생성(문자 이름, 문자 종류):
        자기.이름 = 이름
        자기.종류 = 종류

    함수 소개() -> 문자:
        리턴 자기.이름 + " (" + 자기.종류 + ")"

클래스 강아지 < 동물:
    함수 소리() -> 문자:
        리턴 "멍멍!"

클래스 고양이 < 동물:
    함수 소리() -> 문자:
        리턴 "야옹~"

강아지 뽀삐 = 강아지("뽀삐", "포메라니안")
고양이 나비 = 고양이("나비", "러시안블루")

출력(뽀삐.소개())    // 뽀삐 (포메라니안)
출력(뽀삐.소리())    // 멍멍!
출력(나비.소개())    // 나비 (러시안블루)
출력(나비.소리())    // 야옹~

실전 예제: 은행 계좌

hik
클래스 계좌:
    문자 소유자
    정수 잔액

    생성(문자 소유자, 정수 초기잔액):
        자기.소유자 = 소유자
        자기.잔액 = 초기잔액

    함수 입금(정수 금액):
        자기.잔액 += 금액
        출력("{금액}원 입금. 잔액: {자기.잔액}원")

    함수 출금(정수 금액):
        만약 금액 > 자기.잔액 라면:
            출력("잔액이 부족합니다")
        아니면:
            자기.잔액 -= 금액
            출력("{금액}원 출금. 잔액: {자기.잔액}원")

계좌 내계좌 = 계좌("홍길동", 10000)
내계좌.입금(5000)     // 5000원 입금. 잔액: 15000원
내계좌.출금(3000)     // 3000원 출금. 잔액: 12000원
내계좌.출금(20000)    // 잔액이 부족합니다

다음 단계

Released under the MIT License.