JAVA - 09 [Chapter3]

Lumi·2021년 6월 4일
0
post-thumbnail

2021.06.04
오늘부터 배우는 내용이 매우 중요함

1강 : 객체 간의 상속은 어떤 의미일까

상속의 문법

class B extends A{}
-> B를 A에게로부터 상속을 받는다.
-> extends 키워드 뒤에는 단 하나의 클래스만 올 수 있다.
-> 자바는 단일 상속 만을 지원한다.

상속을 구현 하는 경우

  1. 하위 클래스는 상위 클래스보다 더 구체적인 개념과 기능을 가짐
  2. 하위 클래스가 상위 클래스의 속성과 기능을 확장 한다는 의미
  3. 기능을 상속 받을떄는 사용하지 않음, 보통 결이 같은? class를 상속받음
    EX :
    class Mammal{}
    class Human extends Mammal{}
    Mammal : 포유류

2강 : 상속을 활용한 멤버쉽 클래스 구현하기

모든 코딩(일반 고객, vip고객)을 Customer에 한곳에 넣을수도 있지만 그렇게 되면 나중에 추가 요소를 추가하기가 힘들고
코딩 자체가 복잡해 지게 된다.
--> 그러기 떄문에 일반고객을 부모로 잡고 vip고객을 자식으로 잡으면서 상속을 사용하면 편하다.

코딩이 길기 떄문에 정리가 한번에 찍을수가 없음;;
그러기 떄문에 반드시 코딩한 내용을 이클립스에서 확인해볼것!!

3강 : 상속에서 클래스 생성과정과 형 변환

하위 클래스를 생성을 하게 되면 상위 클래스가 먼저 생성된다.
즉 2강의 new VipCustomer()을 호출하면 프로그래밍상 Customer이 먼저 호출되고 그후
VipCustomer이 호출됨
--> 2강과 마찬가지로 이클립스 코딩을 참고
--> 이 강의는 한번쯤 들어볼 필요가 있다고 생각( 코딩을 계속 바꿔가면서 결과를 보기때문에 다 기록을 불가능)
--> this 키워드를 사용해서 생성자 함수를 만들떄와 default생성자 함수를 만들떄랑 차이점을 알려줌(super키워드에 대한 내용)

-> super : 상속받은 생성자를 호출해주는 기능
--> 만약 this 키워드를 사용하여 생성자를 만들게 된다면
--> super에 값을 입력하여 명시적으로 호출해 주어야 한다.

Customer A = new VipCustomer();
-> 사용가능
-> 왜냐하면 VipCustomer()을 호출하면 Customer도 자동으로 호출 되기 떄문에.
--> 형 변환(업캐스팅) 이라고함

4강 : 메서드 재정의하기

오버라이딩 : 상위 클래스에 정의된 내용이 하위 클래스에 구현할 내용과 맞지 않는 경우 하위 클래스에서 동일한 이름의 메서드를 재정의할 수 있음
-> VipCustomer클래스의 calcPrice는 할인율이 적용되지 않음
-> 이름이 같은 함수코드를 사용할떄 override를 사용.

profile
[기술 블로그가 아닌 하루하루 기록용 블로그]

0개의 댓글