본문 바로가기
개발/개념정리

[자바] 객체지향 특징(3) - 상속화, 다형화

by 신앉아영 2024. 4. 12.
반응형

1. 상속화

1.1 정의

상위 클래스의 모든 것(변수, 메서드)을 하위 클래스가 이어받는 것.

 

1.2 사용 이유

코드의 재사용성을 극대화시키기 위해 사용.

상속 시 부모클래스에서 정의한 변수, 메서드를 사용할 수 있기 때문에 재사용성이 높아지고 코드의 중복이 줄어들어 간결해짐.

또한 메서드 로직이 변경될 때 상위 클래스의 메서드만 변경하면 다른 상속받은 자식클래스들도 동일하게 적용이 되기때문에 코드의 관리가 편해짐.

 

1.3 사용 예시 - extends 사용

<부모 클래스>

package test;

public class Parent {
	
	public void ParentMethod() {
		System.out.println("hello");
	}
}

 

<자식 클래스>

package test;

public class Child extends Parent {
	
	public static void main(String[] args) {
		Child child = new Child();
		child.ParentMethod();
	}

}

 

 

2. 다형화

2.1 정의

하나의 메시지에 대해 각 고유 방법으로 응답하는 방법.

 

2.2 종류

(1) 오버로딩 : 하나의 클래스 내 같은 이름의 메서드를 여러개 만드는 것.

(2) 오버라이딩 : 부모클래스 내 메서드 내용을 자식이 재 정의하는 것.

 

2.3 사용 예시

(1) 오버로딩

package test;

public class Student {
	
	public void Test(int num) {
		// 메서드 정의
	}
	
	public void Test(String num) {
		// 메서드 정의
	}

}

 

(2) 오버라이딩

<부모 클래스>

package test;

public class Parent {
	
	public void test() {
		System.out.println("test");
	}
}

 

<자식 클래스>

package test;

public class Child extends Parent {
	
	public void test() {
		System.out.println("test2");
	}

}

 

-> 결과는 자식클래스인 test2 출력

반응형