[내일배움캠프 사전캠프] TIL 3일차

맹돌이·2026년 8월 26일

사전캠프

목록 보기
5/11
  1. 오늘 배운 키워드
  • 캡슐화
  • 상속
  • 추상화
  • 다형성
  1. 캡슐화
  • 캡슐처럼 데이터를 보호한다
  • 무분별한 세터를 주의할 것 -> 접근제어자로 제한을 걸었더라도 세터를 통해서 변경 가능한 경우에는 주의해야한다
  • 또한 수없이 많은 세터가 존재시킬 때도 무분별한 세터이다 -> 의미있는 세터로 변경
  1. 상속
  • 부모의 속성을 물려받는다
  • 오버라이딩은 부모의 메서드를 자식 클래스에서 변경하여 재정의하는 것
  • abstract를 통해서 자식클래스에서 반드시 구현해야하는 메서드를 정의할 수 있다
  • abstract를 사용할땐 클래스도 추상 클래스가 되어야하는데, 추상 클래스는 인스턴스화될 수 없다
  • 인터페이스와 추상클래스가 비슷하다고 생각되었다 -> 인터페이스는 표준을 제공/추상클래스는 계층적 구조를 선언
  1. 추상화
  • 불필요한 건 제거하고 필요한 것만 남기기
  • 인터페이스와 클래스를 상속을 통해서 유지보수에 크게 기여
  1. 다형성
  • 다형성을 통해 상위계층 타입으로 여러가지 하위 계층 객체를 만들 수 있다
    -> 즉, 자식타입을 부모타입으로 자동으로 업캐스팅해주었기 때문이다
  • 단 자식클래스의 고유 기능을 명시적 다운캐스팅 없이 사용할 수 없다
  • instanceof를 사용하여 다운캐스팅시 다른 객체로 다운캐스팅하지않게 처리
  • if(animal1 instanceof Cat){...}
  • 배열을 다룬다고 할 때 Animal[] ani = {new Cat(), new Dog()} 이런식으로 여러 타입의 데이터를 다룰 수 있게된다는 장점이 크다

0개의 댓글