본문 바로가기

상속2

상속 상속이란 부모가 자식에게 물려주는 행위를 말한다. 부모 클래스를 상위 클래스라고 부르기도 하고, 자식 클래스를 하위 클래스, 또는 파생 클래스라고 부른다. 이미 잘 개발된 클래스를 재사용해서 새로운 클래스를 만들기 때문에 코드이 중복을 줄여준다. 자식 객체를 생성하면 부모객체가 먼저 생성되고, 자식 객체가 그 다음에 생성된다. 메소드 재정의 override 자식 클래스에서 부모의 메소드를 사용하지 않고 수정하여 사용할 때 메소드 재정의를 하게된다. 메소드 재정의를 하게 되면 메소드 호출 시 자식의 메소드가 호출된다. 메소드 재정의 시 주의할 점 - 부모의 메소드와 동일한 시그니처 - 접근제한을 더 강하게 오버라이딩할 수 없다. - 새로운 예외를 throws할 수 없다. 만약 부모 메소드를 호출하고 싶다면.. 2022. 10. 19.
자바 - 오버로딩 vs 오버라이딩 상속에서 사용되는 오버라이딩(overriding)과 클래스에서 메소드를 만들 때 사용되는 오버로딩(overloading)은 이름이 비슷하여 햇갈릴 수 있다. 오버로딩 overloading 한 클래스 내에서만 사용된다. 메소드의 이름이 동일하지만 매개변수의 순서, 개수, 타입 등의 요소 중 한개이상 달라야 한다. 오버라이딩 overriding 상속관계에서 사용되는 개념이다. 부모로부터 상속받는 메소드를 재정의하는 의미를 지닌다. 메소드의 이름이 같고 매개변수의 순서, 개수, 타입 등의 요소 모두 같아야 한다. 접근제한이 부모의 메소드보다 강력해서는 안된다.(같거나 낮아야 한다) class A{ public void M(){ System.out.println("부모"); } } class B extends .. 2022. 6. 10.