자식클래스
-
클래스 / 메소드 오버라이딩(method overriding)백엔드/자바 2020. 7. 28. 02:40
오버라이딩(method overriding)이란? 상속 관계에 있는 부모클래스에서 이미 정의된 메소드를 자식 클래스에서 다시 정의하는 것을 의미. 자식 클래스는 모든 메소드를 상속받는데 이러한 메소드는 그대로 사용해도 되고 오버라이딩을 통해 재정의하여 사용할 수도 있다. 오버라이딩 방법 ◎ 조상으로부터 상속받은 메서드의 매개변수 타입, 개수는 그대로 두고 즉 선언부는 그대로 두고 그 실행부분을 수정하여 새로운 실행 코드를 적어 넣으면 된다. ◎ 선언부는 그대로 두고 내용만 바꿔서 메소드를 재정의하는 것을 오버라이딩이라 한다. 오버라이딩 조건 ◎ 오버라이딩은 메소드의 동작만 재정의하는 것이므로 선언부는 기존 메소드와 같아야 한다. ◎ 다만 메소드의 반환 타입은 부모 클래스의 반환 타입으로 타입 변환할 수 ..
-
클래스의 super와 super()백엔드/자바 2020. 7. 28. 02:25
super란? 부모 클래스로부터 상속받은 필드(멤버변수)나 메소드를 자식클래스에서 참조하는데 사용하는 참조 변수. this를 써서 인스턴스 변수와 지역 변수를 구분하던 것처럼 super를 이용하며 부모 클래스의 변수와 자식 클래스의 변수를 구분하여 사용할 수 있다. 예시를 보면 더 쉽게 이해할 수 있다. 인스턴스 변수가 선언된 부모 클래스 class Parents{ int test_num = 10; } 부모 클래스의 인스턴스 변수와 이름이 같은 변수를 초기화한 자식 클래스 class Child extends Parents{ int test_num = 15; public void test_method() { System.out.println("부모 클래스가 가진 값: "+super.test_num); Sy..
-
클래스의 상속(inheritance)백엔드/자바 2020. 7. 28. 01:23
상속이란? 기존의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것을 말함. 더 간단히 말해 두 클래스는 부모와 자식 관계로 맺어주는 것을 말함. 상속은 캡슐화, 은닉화와 더불어 객체지향프로그래밍을 구성하는 중요 요소 중 하나. 그림으로 간단히 나타내면 다음과같다. 상속의 장점 클래스 상속은 다음과 같은 특징을 갖는다. - 자식 클래스는 부모 클래스의 모든 멤버(클래스 내 메서드, 변수)를 상속받는다. - 단, 초기화 블록과 생성자는 상속받지 않는다. - 결과적으로 모든 자식 클래스는 부모 클래스보다 같거나 더 많은 멤버를 가진다. - 자손을 아무리 변경해도 조상에 영향을 주지 않는다. 반대로 부모는 자식에게 영향을 준다. - 하나의 부모는 여러 자식 클래스를 거느릴 수 있지만, 반대로 ..