■ implements 키워드를 사용해 추상 클래스를 구현하는 방법을 보여준다. ▶ 예제 코드 (DART)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
abstract class Monster { void attack(); } class Goblin implements Monster { @override void attack() { print('고블린 공격'); } } class Bat implements Monster { @override void attack() { print('박쥐 공격'); } } |
■ extends 키워드를 사용해 서브 클래스가 수퍼 클래스를 상속하는 방법을 보여준다. ▶ 예제 코드 (DART)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
class Hero { String name = '영웅'; void run() { print('달리다.'); } } class SuperHero extends Hero { @override void run() { super.run(); fly(); } void fly() { print('날다.'); } } |
■ getter/setter 메소드를 사용하는 방법을 보여준다. ▶ 예제 코드 (DART)
|
class Rectangle { num left, top, width, height; Rectangle(this.left, this.top, this.width, this.height); num get right => left + width; set right(num value) => left = value - width; num get bottom => top + height; set bottom(num value) => top = value - height; } |
■ 클래스에서 연산자 오버로딩을 사용하는 방법을 보여준다. ▶ 표
|
────────── 연산자 함수명 ─── ────── + __add__ - __sub__ * __mul__ / __truediv__ ────────── |
▶ 예제 코드 (PY)
|
class TestValue: def __init__(self, value): self.value = value def __add__(self, other): result = self.value + other.value return result value1 = TestValue(10) value2 = TestValue(20) print(value1 + value2) |
■ 클래스를 정의하는 방법을 보여준다. ▶ 예제 코드 (PY)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
class Mammal: def eat(self, food): print("%s을 먹는다." % food) class Giraffe(Mammal): def __init__(self, name): self.Name = name def walk(self): print("%s이 걷는다." % self.Name) def walkAndEat(self, food): self.walk() self.eat(food) giraff = Giraffe("기린") giraff.walkAndEat("과일") """ 기린이 걷는다. 과일을 먹는다. """ |
■ 클래스를 사용하는 방법을 보여준다. ▶ 클래스 사용하기 예제 (VB)
|
Dim pTestClass As TestClass Set pTestClass = New TestClass pTestClass.ValueA = 10 pTestClass.ValueB = 50 Print pTestClass.GetSummary() |
▶ 클래스 사용하기 예제 (VB)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
Option Explicit Private m_nValueA As Integer Private m_nValueB As Integer Private Sub Class_Initialize() m_nValueA = 0 m_nValueB = 0 End Sub Public Property Get ValueA() As Integer ValueA = m_nValueA End Property Public Property Let ValueA(nValue As Integer) m_nValueA = nValue End Property Public Property Get ValueB() As Integer ValueB = m_nValueB End Property Public Property Let ValueB(nValue As Integer) m_nValueB = nValue End Property Public Function GetSummary() As Integer GetSummary = m_nValueA + m_nValueB End Function |