본문 바로가기

추상클래스

(2)
[C#] 왜 추상클래스를 사용하게 될까? 왜 추상클래스를 사용해야할까요? 어떤 기술의 사용이라는게 좋은 취지에서 사용이 되었더라도 다른 부분에서의 예기치 못한 불협화음을 만들어 낼 수 있다. 클래스의 상속이 그러할지도 모르겠다. 상속을 설명하며 Animal 이라는 클래스와 Cat, Dog 라는 클래스는 IS 의 관계를 만드는 관계를 맺고 있다. 그러면서 생기는 논리적인 문제는 구체적이지 않은 Animal 이라는 클래스의 인스턴스를 만들 수 있다는 점이다. Animal ani1 = new Animal(); Animal ani2 = new Dog(); Animal ani3 = new Cat(); 그럼 Animal 이라는 클래스로부터 Dog, Cat 이라는 클래스가 공유해야할 것들은 공유하되 직접적인 Animal 클래스의 인스턴스의 생성을 막으려면 ..
Interface 와 Abstract class 자바에서의 인터페이스와 추상 클래스와의 차이를 공부하던 도중에 좋은 글을 찾았습니다- 네이버 지식인을 통해서 찾았는데요 ㅎㅎ 출처를 남기도록 하겠습니다. 아래글을 참조해주세용. 클래스는 크게 일반클래스와 추상클래스로 나뉘는데 추상클래스는 본문중에 '추상메소드'가 하나 이상 포함되는 경우를 말합니다. 인터페이스는 모든 메소드가 추상메소드인 경우 선언하는 경우가 많습니다. 추상메소드라 함은 메소드의 선언부만 있고 본문이 없는 것을 말합니다. 여기서 본문은 중괄호({})로 묶여진 몸체(body)부분을 말하는데 중괄호 안이 비어있더라도 이것이 존재한다면 그것은 추상메소드가 아닙니다. 추상메소드의 선언의 예는 다음과 같습니다. abstract public void test( int a ); 즉, 메소드의 선언 후..