티스토리 뷰

정리 노트

상속과 다형성

eyoadgkn 2023. 10. 23. 21:15

상속

what 클래스를 생성할 때 기존에 존재하는 클래스로부터 물려받는 것을 의미합니다.물려주는 클래스를 부모 클래스라하고, 받는 클래스를 자식 클래스라고 합니다. 

why 부모 클래스로부터 상속을 받음으로써 작성하는 코드의 양이 줄어들게 되고, 이에 따라 코드의 중복을 줄이며 코드의 재사용성 또한 늘려줍니다.

how 부모의 클래스로부터 물려받았다는 표시로 클래스를 생성할 때, 클래스명 뒤에 extends 키워드와 부모 클래스명을 작성해줍니다.

 

오버라이딩

what 부모 클래스로부터 물려받은 데이터들을 재정의하는 것을 의미합니다. 

why 부모 클래스로부터 물려받은 변수나 메서드가 자식 클래스에서는 다르게 동작이 되어야 할 수도 있기 때문에 상황에 맞게 재정의를 시켜줍니다.

how 기본적으로 부모 클래스의 메서드와 선언부가 일치하도록 작성을 해야 합니다. 따라서 재정의할 메서드는 그대로 적은 뒤에 수정을 해야합니다.source-override 를 통해 작성을 합니다.

 

상속과 생성자

what 상속을 받은 자식 클래스가 부모를 호출할 때 사용하는 것으로 super();를 통해 호출을 합니다.

why 자식 클래스가 생성자를 작성할 때에는 무조건 부모 클래스도 같이 호출을 해와야 합니다.

how 생성자의 가장 첫 줄에 super();를 추가해줍니다. 

*부모클래스에 매개변수가 있는 생성자가 따로 존재를 한다면 기본생성자가 없는 상태이기 때문에 따로 생성을 해주거나 자식 클래스에서 super(변수);를 통해 초기화를 시켜줌으로써 오류 발생을 하지 않도록 합니다.

*object는 부모 클래스의 조상격.

 

접근제어자

what 다른 외부로부터 접근을 방지하기 위해서 4단계로 범위를 지정하여 접근제어 키워드를 사용하는 것입니다.

why 다른 외부로부터의 접근을 차단하고 싶을 때 사용합니다.

how 접근 제어자의 범위 4단계로 넓은 순서부터 public>protected>default>private가 있습니다. public은 접근에 제한이 없고, protected는 같은 패키지 내의 부모 클래스의 상속을 받은 자식 클래스에서 접근이 가능하며, default는 접근 제어자를 작성하지 않았을 경우 같은 패키지 내에서만 접근이 가능합니다. 마지막으로 private는 같은 클래스 내에서만 접근이 가능토록 하는 키워드입니다.

 

final

what 제어자의 종류 중 하나로 값을 변경할 수 없는 상태로 만들어 제한을 두는 것을 말합니다.

why 외부로부터 코드를 변경하는 일을 없애기 위해서 사용을 합니다.

how final을 변수에 붙여줌으로써 상수로 값을 변경할 수 없는 상태로 만듭니다. 메서드에 final을 붙여줌으로써 내용 변경이 불가하고 오버라이딩이 불가능해집니다. 마지막으로 클래스에 final을 붙여줌으로써 내용 변경이 불가하고 상속이 불가능해집니다.

 

다형성

what 부모타입을 참조변수로하여 자식 클래스를 참조하는 경우를 얘기합니다. 

why 부모 클래스로부터 물려받은 자식 클래스가 하나라면 괜찮지만 여러 클래스가 부모 클래스로부터 물려받았을 경우 메인 클래스에서 불러오는 상황에서 여러 반복 코드 상황이 생기게 되는데, 이때 참조변수를 부모 클래스를 두면서 코드를 최소화 해줍니다.

how 부모 클래스를 참조변수로 해서 자식 클래스를 참조하게끔 new를 통해 객체생성을 해줍니다. 주의할 점은 부모 클래스가 자식클래스를 담을 수는 있지만, 부모 클래스가 가지고 있지 않은 것은 호출이 되질 않습니다.

'정리 노트' 카테고리의 다른 글

8.추상 클래스와 인터페이스, 내부 클래스  (0) 2023.10.24
chapter  (0) 2023.10.24
제어문  (0) 2023.10.11
연산자  (0) 2023.10.11
변수와 상수  (0) 2023.10.11
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함