오버라이딩2 java 추상클래스(abstract class) +추상메소드 목적 ▶ 추상클래스란? 추상 메소드를 한 개 이상 가진 클래스로서 단 한개의 추상메소드를 가져도 추상클래스가 된다. 그리고 필드 변수를 선언하는 것도 가능하다. ▶ 추상메소드란? 메소드의 상세 동작이 정의되지 않은 메소드이다. 선언되어 있으나 구현되어 있지 않은 메소드, 중괄호가 없으며 선언만 되고 실체가 없다. 메소드의 상세 내용은 이 메소드를 활용하는 서브클래스에서 오버랑이딩으로 정의된다. ▶ 추상클래스의 목적 추상클래스는 서브클래스에서 필요로하는 기능을 선언만하여 두고 서브클래스가 상속받아 서브 클래스에서 오버라이딩하여 서브클래스에서 구현하도록 한다. 서브클래스에서 필요한 부분만 재정의함으로서 다형성, 재생산성을 가진다. ▶ 추상클래스 선언 추상클래스, 추상메소드는 abstract 로 선언한다. ex) .. 2022. 3. 19. JAVA 업캐스팅과 다운캐스팅 (+동적바인딩, 정적바인딩) 먼저, 이전에 배웠던 상속에 대한 개념 간단하게 설명하자면 서브클래스는 슈퍼클래스를 상속받아 서브 클래스의 객체는 슈퍼클래스의 멤버를 모두 가지고, 사용할 수 있다. ▶ 업캐스팅이란? 업캐스팅이란 서브클래스의 객체를 슈퍼 클래스 타입으로 타입 변환함을 말한다. 자식 객체가 부모멤버를 활용할 때 사용하며 자식과 부모의 공통된 것만 사용할 수 있고 자식클래스에서 새로 만들어진 건 사용 할 수 없다. 대신 자식클래스의 재정의된 메소드(오버라이딩)는 자식클래스 것을 사용한다. ▶ 다운캐스팅이란? 다운캐스팅이랑 업캐스팅과 반대로 슈퍼클래스 객체를 서브클래스 타입으로 타입 변환함을 말한다. 업캐스팅 예제 (+동적바인딩과 정적바인딩) public class Shape { //슈퍼클래스 protected String .. 2022. 3. 16. 이전 1 다음