'분류 전체보기' 카테고리의 글 목록 (6 Page) :: 놓치기 쉬운 정보 저장
728x90
SMALL

메서드 오버라이딩(Overriding)에 대해서 알아보겠습니다.

 

메서드 오버라이딩(Overriding) : 서로 다른 여러 메소드를 하나의 이름으로 정의하는 것으로, 상속 관계에 있는 부모 클래스에서 이미 정의된 메소드를 자식 클래스에서 같은 시그니쳐를 갖는 메소드로 다시 정의하는 것이라고 할 수 있습니다.

자바에서는 자식 클래스는 부모 클래스의 private 멤버를 제외한 모든 메소드를 상속받습니다.

이렇게 상속받은 메소드는 그대로 사용해도 되고, 필요한 동작을 위해 재정의하여 사용할 수도 있습니다.

사용 조건 :

1. 메소드의 선언부가 기존 메소드와 같아야 한다.
    * 하지만 메소드의 반환 타입은 부모 클래스의 반환 타입으로 타입 변환할 수 있는 타입이라면 변경 가능
2. 부모 클래스의 메소드보다 접근 제어자를 더 좁은 범위로 변경할 수 없습니다
3. 부모클래스의 메소드보다 더 큰 범위의 예외를 선언할 수 없습니다.

 

정의 및 조건
메모리 구조
대표적인 사용 예
대표적인 사용 예(1)
메서드 오버라이딩과 오버로딩 간단 비교
접근지정자 비교

 

이상 메서드 오버라이딩(Overriding)에 대해서 알아보았습니다.

728x90
LIST
728x90
SMALL

업캐스팅(Upcasting)다운캐스팅(Downcasting)에 대한 개념을 정리하였습니다.

 

캐스팅(Casting) : 타입을 변환하는 것이며 형변환이라고도 한다. 자바의 상속 관계에 있는 부모와 자식 클래스 간에는 서로 간의 형변환이 가능하다.

 

업캐스팅(Upcasting) : 자식 클래스에 있는 객체가 부모 클래스 타입으로 형변환 되는 것을 말한다.

다운캐스팅(Downcasting) : 업캐스팅과 반대인 캐스팅을 다운캐스팅이라고 한다. 업캐스팅된 것을 다시 원상태로 돌리는 것을 말한다. 하위 클래스로의 다운캐스팅을 할때는 타입을 명시적으로 지정해줘야한다.

업캐스팅과 다운캐스팅

 

업캐스팅과 다운캐스팅(1)
instanceof 타입
다형적 표현 방식

 

이상 업캐스팅과 다운캐스팅에 대해서 알아보았습니다.

728x90
LIST
728x90
SMALL

Inheritance 상속에 대해서 알아보겠습니다.

 

개념 : 부모 클래스(상위 클래스)와 자식 클래스(하위 클래스)가 있으며, 자식 클래스는 부모 클래스를 선택해서, 그 부모의 멤버를 상속받아 그대로 쓸 수 있게 됩니다.

적용하는 이유 : 이미 마련되어 있던 클래스를 재사용해서 만들 수 있기 때문에 효율적, 개발 시간 단축, 메모리 절약 용이

상속을 하더라도 자식 클래스가 부모의 모든 것들을 물려받는 것은 아닙니다.

부모 클래스의 private 접근 제한을 갖는 필드 및 메소드는 자식이 물려받을 수 없습니다.

부모와 자식 클래스가 서로 다른 패키지에 있다면, 부모의 default 접근 제한을 갖는 필드 및 메소드도 자식이 물려받을 수 없습니다.

(default 접근 제한은 ‘같은 패키지에 있는 클래스’만 접근이 가능하게끔 하는 접근 제한자이기 때문입니다.)

그 이외의 경우는 모두 상속의 대상이 됩니다.

상속을 받으면 부모클래스의 멤버를 가질 수 있는 이유는 객체 속에 부모클래스의 객체를 먼저 생성하여 포함하기 때문입니다.

상속의 장점
상속의 장점(1)
상속 문법
상속 문법(1)
상속 문법(2)
생성자를 상속할 수 있는지?
다형적 표현(업캐스팅으로 변환 여부)
다형적 표현 예시

 

 

이상 inheritance 상속에 대해서 알아보았습니다.

 

궁금하신 사항은 댓글 주시면 답변드리겠습니다^^

728x90
LIST
728x90
SMALL

728x90
LIST
728x90
SMALL

728x90
LIST

+ Recent posts