본문 바로가기
Language/Java

[Java] 자바기초 - 객체지향(OOP) - 상속화(Inheritance)

by J4J 2020. 12. 26.
300x250
반응형

안녕하세요. J4J입니다.

 

이번 포스팅은 객체지향 프로그래밍의 특징 중 하나인 상속화에 대해 적어보는 시간을 가져보려고 합니다.

 

 

상속화란?

 

자바에서 상속화라고 하는 것은 부모 클래스에 정의된 변수 및 메서드 들을 자식 클래스에서 상속받아 사용할 수 있게 되는 것을 말합니다.

 

일상 속에서 부모의 재산을 그대로 상속받는다는 것과 유사한 개념이라고 생각하시면 됩니다.

 

상속화를 사용하는 이유는 무엇일까요?

 

그 이유는 코드의 재사용성을 극대화시키기 위해서입니다.

 

상속화를 사용한다면 부모 클래스에서 정의한 변수 및 메서드들을 여러 자식 클래스에서도 사용할 수 있기 때문에 재사용성이 증가하게 되고 더불어 자식 클래스에서는 동일한 코드들을 다시 작성할 필요가 없기 때문에 코드가 간결해지게 됩니다.

 

또한 사용 중인 메서드의 로직이 변경될 때 한 메서드만 변경하게 되면 다른 자식 클래스에도 모두 동일하게 적용되기 때문에 코드 관리도 용이해집니다.

 

 

사용 방법

 

자바에서 상속화의 사용은 extends라는 키워드를 이용하여 사용됩니다.

 

코드로 예시를 들어보겠습니다.

 

package oop;

public class Parents {
	
	String firstName = "진";
	
	public void myHouse () {
		System.out.println("서울 100평 아파트");
	}
	
	public void myMoney () {
		System.out.println("1324조 소유 중");
	}
}

 

package oop;

public class Child extends Parents { // extends를 통해 상속받음
	public static void main(String[] args) {
		Child child = new Child();
		
		System.out.println(child.firstName); // 진
		child.myHouse(); // 서울 100평 아파트
		child.myMoney(); // 1324조 소유 중
	}
}

 

 

위의 코드처럼 부모가 소유하고 있는 변수와 메서드들을 사용하기 위해 extends를 통해 상속받고 자식 클래스에서 따로 정의하는 것 없이 부모 클래스에 정의되어 있는 것을 그대로 사용할 수 있습니다.

 

여기서 한 가지 더 아셔야 될 점은 상속을 받을 수 있도록 도와주는 것은 extends뿐만 아니라 implements라는 키워드를 이용해서도 상속을 받을 수가 있습니다.

 

만약 extends와 implements의 차이를 모르신다면 이 글을 다 읽으시고 [Java] 자바기초 - 추상클래스와 인터페이스(abstract/interface)로 바로 방문해주시면 됩니다.

 

 

정리

 

상속화는 재사용성을 극대화시키며 코드 관리를 수월하게 하기 위해 사용됨
상속화는 extends를 이용하여 사용되고 implements를 이용해서도 사용 가능

 

 

 

이상으로 객체지향 프로그래밍의 특징 중 하나인 상속화에 대해 간단하게 알아보는 시간이었습니다.

 

읽어주셔서 감사합니다.

728x90
반응형

댓글