상속
-
[Camel][Java] 상속을 위한 관계 (IS-A, HAS-A) 그리고 오버라이딩Java/개념 정리 2020. 2. 20. 17:03
상속을 위한 관계 상속을 위한 관계? 그냥 extends 쓰고 상속받을 클래스를 쓰면 되는거 아닌가? 저는 처음 상속을 배웠을 때 위와 같이 단순하게 생각했습니다. 하지만 상속 관계를 구성하기 위해서는 조건이 필요하다는 사실! 물론 조건을 충족하지 않아도 상속관계를 구현 할 수는 있지만 조건을 충족 시키지 못하면 상속을 하는 의미가 없다는 뜻입니다. 이러한 상속을 위한 조건은 대표적으로 IS-A 관계가 있습니다. 또한 HAS-A 관계 역시 상속의 조건이 될 수 있습니다. IS-A 관계 그렇다면 IS-A 관계란 무엇일까? 아주 간단합니다. 간단한 예를 들어 설명하겠습니다. ( 전기자전거, 자전거), (무선마우스, 마우스) 혹시 눈치 채셨나요? 좀 더 직관적으로 설명하자면 (전기자전거 IS A 자전거), (..
-
[Camel][Java] Java에서의 상속(Inheritance)이란? (feat. super 키워드)Java/개념 정리 2020. 2. 19. 20:46
상속(Inheritance)이란? 상속이란 객체지향 프로그래밍에서 굉장히 중요한 부분입니다. 대부분의 처음 Java를 공부하는 사람은 상속을 재활용의 목적으로 이해하는 경우가 많습니다. 하지만 Java에서 상속이 지니는 의미는 재활용 그 이상이라고 할 수 있습니다. 결론부터 말하자면 상속은 기존의 클래스를 재활용해 새로운 클래스를 작성하기위한 수단입니다. 우리는 상속을 통해 연관성이 있는 일련의 클래스에 대한 공통의 규칙을 정할 수 있습니다. 상속은 기존에 정의된 클래스에 메소드와 변수를 추가해 새로운 클래스를 정의하는 것입니다. 즉 재활용+@ 라고 할 수 있는 것입니다. 상속을 사용하기 위해서는 우리는 앞으로 extends라는 키워드를 사용할 것입니다. class Animal { private Stri..