2주차 정리

이종훈·2023년 4월 2일
0
  • 클래스 기본 개념
    객체 지향 프로그래밍 - 추상화 캡슐화 상속 다형성을 활용해 객체들간의 상호작용으로 코드가 구성되게 하는 것
    추상화, 캡슐화, 상속, 다형성
    추상화:
    객체의 공통적인 속성과 기능을 추출하여 정의하는 것
    캡슐화:
    연관있는 속성과 기능들을 하나의 캡슐로 만들어 내부의 데이터를 외부로부터 보호하는것.
    상속: 부모의 속성(변수) 와 기능(메서드)를 자식 클래스에서도 상속받아 사용한다
    다형성: 동일한 이름의 기능을 객체에 따라 서로 다르게 처리하는 것
    필드, 메소드, 생성자(소멸자)
    필드: 고유 데이터 현재 상태 등을 저장
    메소드: 선언부와 구현부로 이루어짐. 클래스에서 사용 가능한 함수들
    생성자(소멸자):
    생성자는 클래스의 객체를 만들기 위해서 호출방법을 정의한다. 한 클래스가 여러가지 생성자를 가질 수 있다. 사용자가 호출한 방법과 일치하는 생성자를 사용한다. 소멸자는 객체가 없어질 때 동작.
    접근 제어자:
    public protected private default가 있다 클래스 상속이 일어날 때 접근 제어자를 활용해서 부모의 속성과 기능을 제한적으로 전해줄 수 있다.
    getter, setter:
    객체 내부의 정보를 다 public으로 하고 공개하면 문제가 발생한다. 그렇기때문에 getter를 통해 내부 정보를 가져오고, setter를 사용해 내부 정보를 수정한다
    static 멤버: 같은 클래스 내부에 있는 객체들은 모두 같은 static 값을 공유한다.
  • 클래스의 상속과 관련된 개념
    접근제어자 protected:
    본인과 자식클래스에만 공유
    오버라이딩 (오버로딩과 비교):
    둘은 완전 다른것 부모 클래스에서 정의한 메소드, 정보를 자식클래스에서 재정의하는게 오버라이딩, 아까 생성자의 예시처럼 한 함수/메소드가 여러가지의 형태를 가지는걸 오버로딩이라고 한다.
    업캐스팅, 다운캐스팅:
    포인터-new를 통해 업캐스팅 하는것이 CPP에서의 진정한 업캐스팅. 자식클래스를 일시적으로 부모클래스처럼 사용하는걸 업캐스팅 업캐스팅 된 자식클래스를 다시 자식클래스로 돌려놓는걸 다운캐스팅이라 한다.
    가상 함수
    부모클래스에 virtual 으로 지정된 메소드,객체는 자식 클래스에서 다시 선언해줄것이다 명시해주는 것
    다형성을 실현하는 경우는? : 하나의 함수명을 여러 클래스의 객체에 적용시켰을때 각각 다른 기능을 하는 것
  • 추상 클래스
    추상 메소드(순수 가상 함수):
    완성되지 않은 메소드, 자식클래스에서 오버라이드 해야한다.
    추상 클래스의 특징은?
    객체를 만들 수 없다.
profile
개발새발

0개의 댓글