Day017

RISK_TAKER·2023년 2월 22일
  • toString()의 의미
    해당 객체가 가진 정보를 문자열화 해달라는 의미!

  • Object 클래스 java.lang.Object
    내부에 toString() 메소드가 있다.
    -> 자바의 모든 클래스는 Object 클래스를 상속받는다.

  • 재정의 제한사항

  1. 부모클래스 메소드와 동일한 구성 형태
  2. 접근제한자가 더 좁아지면 안된다.(public String toString())

강제타입변환
객체타입확인 instanceof

  • 추상 클래스
    실체 클래스의 공통적인 특성을 뽑아내어 선언한 클래스
  1. 실체 클래스들의 공통된 필드와 메소드의 이름을 통일한다.
  2. 실체 클래스를 작성할 때 시간을 절약한다.
    추상 메소드: 선언 부분만 있다. 추상 클래스 내에서만 선언할 수 있다.
    선언
public abstract Class 클래스{
	//필드
    //생성자
    //메소드
}

//고려해야 할 사항
/*
Robot robot = new Robot(); //이 시점에는 상속받은 댄스로봇 등의 자식들이 필요가 없다.
1. 자식들 먼저 쓰다가 중복된 거 추출해서 부모로 만들어 쓰는 경우
2. 부모 먼저 쓰다가 자식들로 확장
3. 애초에 설계를 상속으로 잡고 시작하는 경우

//Robot만 가져다 쓰는 경우엔 아래의 메소드가 필요 없는데 의존성이 생겨버리는 문제가 있다.
//양방향 의존 관계를 피하도록 하는 것이 좋다.
//그래서 여기서 메소드를 작성하는 것보단 위의 메인으로 올리는 것이 좋은 방법

0개의 댓글