namespace practice
{
    class Emotion
    {
        public void CurrentEmotion()
        {
            Console.WriteLine("현재의 기분이 어떤가요?");
        }
    }
    class Happy : Emotion
    {
        public void emotion()
        {
            Console.WriteLine("행복합니다.");
        }
    }
    class MainApp
    {
        static void Main()
        {
Emotion test1 = new Happy();


            Happy test2;

            test2 = (Happy)test1;

            test1.emotion();
            test2.emotion();
        }
    }
}

저기서 test1.emotion()로 인해 컴파일 안되잖아?

곰곰히 생각하다가 파생클래스 형식에 기반 클래스 인스턴스 생성이 안돼는 이유가 궁금해져서

생각해봤는데 힙에 저장된 주솟값 길이를 다르게 읽는건가 싶어서 주소값으로 인해 안돼는거냐고

물어 봤는데 

답변이 뭐이러냐

1. 객체지향부터 공부해라

    - ㅅㅂ 객체지향 공부하다가 궁금해서 묻는거잖아


2. 악기를 상속받아서 기타를 만들어. 기타는 악기지? 그런데 악기가 기타냐?

    프로그래머는 문서를 대충 읽는 버릇을 고쳐야 된다

    - 아니 시바 안돼는건 알어. 근데 어떤 원리로 안돼는 건지 묻는데 이런 답변이 달리냐?

       이답변 한 사람은 디버깅 하는데 버그 발생하는 조건은 아는데
       왜 그러는지 이유를 몰라도 그냥 조건만 수정해버리고 넘어가는 프로그래머임?