상속4 [인프런] super super - 부모 참조부모와 자식의 필드명이 같거나 메서드가 오버라이딩 되어 있으면, 자식에서 부모의 필드나 메서드를 호출할 수 없다. 이때 super 키워드를 사용하면 부모를 참조할 수 있다. super는 이름 그대로 부모 클래스에 대한 참조를 나타낸다.public class Parent { public String value = "parent"; public void hello() { System.out.println("Parent.hello"); }}public class Child extends Parent { public String value = "child"; @Override public void hello() { System.ou.. 2024. 5. 27. [인프런] 상속과 접근 제어 UML 표기법+ : public# : protected~ : default- : private접근 제어자의 종류private : 모든 외부 호출을 막는다.default : 같은 패키지 안에서 호출은 허용한다.protected : 같은 패키지 안에서 호출은 허용한다. 패키지가 달라도 상속 관계의 호출은 허용한다.public : 모든 외부 호출을 허용한다. public class Parent { public int publicValue; protected int protectedValue; int defaultValue; private int privateValue; public void publicMethod() { System.out.println("Parent.p.. 2024. 5. 27. [인프런] 상속과 메서드 오버라이딩 부모 타입의 기능을 자식에서는 다르게 재정의 하고 싶을 수 있다. 부모에게서 상속 받은 기능을 자식이 재정의 하는 것을 메서드 오버라이딩이라 한다. public class Car { public void move() { System.out.println("차를 이동합니다."); } public void openDoor() { System.out.println("문을 엽니다."); }}public class ElectricCar extends Car { @Override public void move() { System.out.println("전기차를 빠르게 이동합니다."); } public void charge() {.. 2024. 5. 27. [인프런] 상속 public class ElectricCar { public void move() { System.out.println("차를 이동합니다."); } public void charge() { System.out.println("충전합니다."); }}public class GasCar { public void move() { System.out.println("차를 이동합니다."); } public void fillUp() { System.out.println("기름을 주유합니다."); }}public class CarMain { public static void main(String[] args) { .. 2024. 5. 27. 이전 1 다음