백엔드 개발자 11일차 회고록

김지홍·2022년 5월 12일
0

데일리회고(TIL)

목록 보기
11/18

코드스테이츠 부트캠프(22.05.12)

코드스테이츠 부트캠프(22.05.12)

Before(수업전)

  • 수업목표
    • Java OOP 심화#1
    • 상속화를 이해할 수 있다.
    • 상속의 핵심개념을 이해하고 포함 관계와의 차이를 구별할 수 있어야한다.
    • 자바의 캡슐화를 이해할 수 있어야한다.
    • 캡슐화를 구현하기 위한 수단으로 접근 제어자와 getter/setter 메서드를 이해하고 활용할 수 있어야한다.
  • 예습 상황
    • 없음

After(수업후)

  • 자바 객체지향 프로그래밍의 핵심 기둥
    • 상속, 캡슐화, 다형성, 추상화
  • 상속

    • 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 자바의 문법 요소
    • 자바의 객체지향 프로그래밍에서는 단일 상속만을 허용
    • 다중 상속과 비슷한 효과를 낼 수 있는 방법이 존재는 함
  • 포함 관계

    • 클래스의 멤버로 다른 클래스 타입의 참조변수를 선언하는 것
    • ~은(는) ~을(를) 가지고 있다 -> 포함 관계
    • ~은 ~이다 -> 상속 관계
  • 매서드 오버라이딩

    • 상위 클래스로부터 상속받은 메서드와 동일한 이름의 메서드를 재정의하는 것
    • 조건
      1. 메서드의 선언부(메서드 이름, 매개변수, 반환타입)이 상위클래스의 그것과 완전히 일치해야한다.
      2. 접근 제어자의 범위가 상위 클래스의 메서드보다 같거나 넓어야 한다.
      3. 예외는 상위 클래스의 메서드보다 많이 선언할 수 없다.
  • super 키워드와 super()

    • super 키워드 = 상위 클래스의 객체
    • super () = 상위 클래스의 생성자
  • Object 클래스

    • 자바의 클래스 상속계층도에서 최상위에 위치한 상위클래스
    • 자바의 모든 클래스는 Object 클래스를 상속받는다는 명제는 참
  • 캡슐화

    • 특정 객체 안에 관련된 속성과 기능을 하나의 캡슐로 만들어 데이터를 외부로부터 보호하는 것
    • 정보 은닉(Data Hiding), 유지 보수에 용이
  • 패키지

    • 특정한 목적을 공유하는 클래스와 인터페이스의 묶음
    • 계층 구조간 구분은 점(.)으로 표현
    • Import문은 다른 패키지 내의 클래스를 사용하기 위해 사용
      <예제>
      import 패키지명.클래스명; 또는 import 패키지명.*;
  • 접근 제어자

    접근 제어자접근 제한 범위
    private동일 클래스에서만 접근 가능
    default동일 패키지 내에서만 접근 가능
    protected동일 패키지 + 다른 패키지의 하위 클래스에서 접근 가능
    public접근 제한 없음
  • getter와 setter 메서드

    • setter - 외부에서 메서드에 접근하여 조건에 맞을 경우 데이터 값을 변경 가능
    • getter - 특정 데이터를 읽어오는 데 사용하는 메서드
  • 수업 후 느낀점

    • 예제를 다시 작성해보면서 구조와 흐름을 이해할 필요성을 느낌
    • 접근 제어자의 종류와 그에 대한 범위를 잘 구분해야함
profile
백엔드 개발자

0개의 댓글