Major scale
특정 음에서 시작해서 W W H W W W H 이렇게 7음이 특정 음계를 의미
(W : Whole step, H : Half step)
half step : 다음 건반으로 가기.
whole step : 건반 하나 뛰어넘기. 중간에 검은 건반 없으면 half.
Minor scale
Major scale의 6번째 음에서부터 시작. 사용하는 음은 동일.
공식으로 따지면 W H W W H W W
public class Parent
{
public void Print()
{
Debug.Log("부모 Print");
}
}
public class Child : Parent
{
public new void Print()
{
Debug.Log("자식 Print");
}
}
이 상태에서:
Parent parent = new Parent();
parent.Print(); // ➔ 부모 Print 출력
Child child = new Child();
child.Print(); // ➔ 자식 Print 출력
Parent parentRef = new Child();
parentRef.Print(); // ➔ 부모 Print 출력 (주의)
중요한 차이점
| 키워드 | 특징 |
|---|---|
override | 부모 메서드를 진짜로 덮어쓴다. 부모 타입으로 봐도 자식 메서드 호출됨 |
new | 부모 메서드를 그냥 숨긴다. 부모 타입으로 보면 여전히 부모 메서드 호출됨 |
왜 이런 차이가 생기냐?
override는 가상 함수(virtual) 기반. 런타임에 진짜 구현체를 찾아간다.new는 타입 기준이다. (컴파일 타임에 결정)


