본문 바로가기
반응형

학습/JAVA24

7. 상속(Inheritance) (Override 불가, 다형성, List<E>) - 정적 메소드는 오버라이딩 되지 않음 public class Figure { static void area() { System.out.println("도형의 넓이"); } } ========================================== class Circle extends Figure { static void area() { System.out.println("도형의 넓이"); } } ========================================== public class FigureMain { public static void main(String[] args) { Circle.area(); Figure.area(); } } 값 도형의 넓이 도형의 넓이 마치 오버라이딩이 된.. 2022. 10. 12.
7. 상속(Inheritance) (Override, Annotation, toString()) - 메소드 재정의(Override) - 메소드 상위클래스에서 상속된 메소드를 하위클래스 재정의 비정적 메소드에만 해당한다. 메소드 오버라이딩 조건 부모 클래스의 메소드와 동일한 시그니처 가져야 한다. 접근 제한을 더 강하게 제한 할 수 없다. – public을 default나 private으로 수정 불가 – 반대로 default는 public 으로 수정 가능 새로운 예외(Exception) throws 불가 // 부모 클래스 public class Airplane { public void land() { System.out.println("착륙"); } public void takeOff() { System.out.println("이륙"); } public void fly() { // 오버라이딩 대상 S.. 2022. 10. 11.
7. 상속(Inheritance) (상속, 부모 생성자 호출 super()) - 상속 연관된 일련의 클래스들에 대한 공통규약 하위클래스가 상위클래스의 특성을 가진 채 그 기능을 확장하는 것 하위(서브, 자식)클래스 – 상위(슈퍼, 부모)클래스 - 상속 개념의 활용 상속의 효과 개발 생성산 향상, 코드 중복 제거, 유지 보수에 도움 , 다형성 구현 가능 상속의 대상 : 필드, 메소드 (생성자는 상속 대상이 아님) 정적 멤버(static이 붙은 것)는 상속되지 않는다. 그러나 지금은 상속된 것처럼 생각하고 사용해도 큰 문제가 없다. 상속 대상 제한 상위 클래스의 private 접근 갖는 필드와 메소드 제외 상위 클래스가 다른 패키지에 있을 경우, default 접근 갖는 필드와 메소드 도 제외 public, protected : 무조건 상속 default : 상위클래스와 하위클래스의.. 2022. 10. 11.
6. 클래스(정적(static), 인스턴스, 싱글톤(singleton), 상수, 접근 제한자, Getter & Setter - 정적(static) 멤버 클래스에 고정된 필드와 메소드 - 정적 필드, 정적 메소드 정적 멤버는 클래스에 소속된 멤버 객체 내부에 존재하지 않고, 메소드(스태틱) 영역에 존재 정적 멤버는 객체를 생성하지 않고 클래스로 바로 접근해 사용 원칙적으로 정적 메소드를 호출할 때는 클래스명.메소드명()으로 호출한다. 동일 클래스내에서는 위 예제처럼 클래스명을 생략하고 호출할 수 있다. 외부에서 접근할 때는 반드시 클래스명을 명시해야한다. public class Calculator { static double pi = 3.14; static int add(int x, int y) { return x + y; } int plus(int x, int y) { return x + y; } public static v.. 2022. 10. 7.
반응형