본문 바로가기

Java/Chapter 14. 클레스 상속 1 : 상속의 기본

(2)
[Java] 14.02 - 클래스 변수, 클래스 메소드와 상속 들어가며 static 선언이 붙는 크래스 변수와 클래스 메소드도 상속의 대상에 포함이 되겠는가? static 선언이 갖는 의미를 떠올리고 논리적으로 접근하면 이 질문에 스스로 답을 할 수 있다. static 선언이 붙는 '클래스 변수'와 '클래스 메소드'의 상속 앞서 공부한 클래스 변수와 클래스 메소드의 특징을 정리하면 다음과 같다. 인스턴스의 생성과 상관없이 접근이 가능하다. 클래스 내부와 외부에서(접근 수준 지시자가 허용하면) 접근이 가능하다. 클래스 변수와 클래스 메소드가 위치한 클래스 내에서는 직접 접근이 가능하다. 즉 클래스 변수와 클래스 메소드는 인스턴스에 속하지 않는, 딱 하나만 존재하는 변수와 메소드이다. 따라서 상속의 대상이 아니다. 예를 들어서 다음 클래스를 보자. class Super..
[Java] 14.01 - 상속의 기본 문법 이해 들어가며 상속의 적절한 활용 방법은 한두 문장으로 가볍게 설명할 수 있는 내용이 아니다. 그리고 이에 대한 설명을 듣기에 앞서, 상속에 대한 문법적이 이해가 선행되어야 한다. 상속에 대한 매우 치명적인 오해 상속의 이유와 목적을 물어보면 다음과 같이 답을 하는 경우를 매우 흔하게 본다. "상속은 코드의 재활용을 위한 문법이다." 그러나 객체지향 기반의 개발 경험이 풍부한 개발자나, 대학원엣서 컴퓨터공학을 전공한 이들에게 질문을 하면 다음의 내용으로 답을 한다. "연관된 일련의 클래스들에 대해 공통적인 규약을 정의할 수 있다." 위의 답변은 매우 모범적인 답변이긴 하지만 지금 이해할 수 있는 내용은 아니다. 그러나 이 문장의 이해를 목표로 상속을 공부해야 하며, Chapter 16까지 공부하는 과정에서 이..