이번주 자바 배웠던 것을 정리하면

8/21(월) -> 메소드

8/22(화) -> 생성자

8/21(수) -> 상속

8/21(목) -> 다형성

오늘은 선생님께서 다형성을 알려주신다고 하신다.


정리

상속

  1. 부모 클래스의 모든 자원을 물려받는다. (private)
  2. 두 개의 클래스간의 관계를 설정
  3. 상속 받은 내용을 재정의(오버라이딩) 할 수 있다.
  4. 클래스 다이어그램 : 클래스와 클래스의 관계를 도형으로 그림
    1. (부모 클래스) ←— (자식클래스)
    2. 클래스 이름 - 맴버변수 / 멤버함수
  5. 부모클래스 = 상위클래스 = super클래스 = Base(기초)클래스 : (주는쪽) 자원(멤버변수 / 멤버함수) 주는 쪽 자식클래스 = 하위클래스 = sub클래스 : 자원( 멤버변수 / 멤버함수 ) 받는 쪽

객체가 생성 될 때 생성자가 자동으로 호출된다.

기본생성자(디폴트 생성자) : 매개변수가 하나도 없는 생성자

매개변수가 있는 생성자를 갖은 객체가 extends(상속)을 하면 반드시 super를 불러호출하고 생성자에도 변수를 써줘야 한다.

super 를 호출해야 하는 이유 :

  1. 안 하면 에러가 난다. (자기 방에 들어가려면 현관문을 열고 나서 들어가야 하기 때문에)
  2. super(부모클래스)에 자식클래스에서 만든 생성자(매개변수가 있는)와 같은 타입의 부모클래스의 생성자가 있어야 한다.

오버 로딩

위의 두 이미지와 같이 같은 a함수를 호출하지만 매개변수의 맞는 형태의 함수를 호출 하는것을 오버로딩이라고 한다.

 

오버라이딩

  1. 상속에서 생성된다.
  2. 이름은 같고 내용만 다르다(재정의)

오버라이딩을 쓰는 이유 -> 상속 받았을때 추가 기능을 사용하기 위해

 

-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

※ 오버로딩 : 메소드(함수)의 매개변수(갯수, 타입, 순서)에 따라 해당 하는 함수를 다르게 호출하여 처리하는것

※ 오버라이딩 : 상속 받은 메소드를 재 정의 (내용만 고친다) 하는 것 ( 메소드 이름, 메소드내의 매개변수 를 바꾸면 안됨 )

잘 기억해 두자!!!!!!

-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

다형성

다형성 : 부모 클래스의 결정에 따라 다양한 메소드를 선택 할 수 있다.
              부모 클래스의 안에 해당 메소드(멤버함수)의 유무에 따라 사용 여부를 선택할 수 있다.

 

다형성의 대상 : (인스턴스-상속)의 메소드

다형성의 필요성 : 선택의 범위가 넓다.

 

오늘은 다형성에 대해서만 배우고 지금까지 배웠던 기능을 한번더 사용하면서 익히는 방식으로 수업을 들었다.

자바 수업 마지막 날인 내일 총정리를 하며 다시 복습을 한다고 한다.

+ Recent posts