2/9 Study Note(python 중급 5~6)

김예슬·2023년 2월 9일
  • 객체와 메모리
    -변수는 객체의 메모리 주소를 저장하고 이를 이용해 객체를 참조함(객체의 주소를 이용해 참조한다하여 레퍼런스 변수라 함)
    -얕은 복사: 객체 주소를 복사하는 것으로 객체 자체가 복사되지 않음(변수를 복사해도 객체가 복사된 것이 아니라, 동일한 객체의 주소가 복사된 것. 따라서 동일한 객체를 두 개의 변수가 참조하게되며, 해당 객체를 수정하면 참조 중인 두 개의 변수 모두 데이터가 변경됨)
    -깊은 복사: 객체 자체를 복사하는 것으로 또 하나의 객체가 만들어짐
    <깊은 복사 방법>

    -클래스 상속: 또 다른 클래스의 기능을 가져와 내 것처럼 사용하는 것
    -객체가 생성될 때 생성자를 호출하면 __inint__()가 자동 호출됨

    -__init__(): 속성 초기화
    -__super__(): 상위 클래스의 속성을 초기화할 때 이용(self값은 넣어주지 않아도 됨)
    -다중 상속: 2개 이상의 클래스를 상속하는 것으로, ()안에 상속받고 싶은 클래스를 나열하면 됨(개발자가 헷갈릴 수 있으므로 남발하는 것은 좋지 않고, 필요할 때만 사용)
    -오버라이딩: 하위 클래스에서 상위 클래스의 메서드를 재정의(override)하는 것
    -추상클래스: 상위 클래스에서 하위 클래스에 메서드 구현을 강요하는 것으로, 클래스를 상속받았을 때 각 클래스가 공통의 메서드를 사용하는 경우, 알아서 지정하여 상황에 맞게 쓰도록 하기 위한 것. 하위 클래스에서 구체화하지 않으면 Error 발생

  • 예외
    -예외란, 문법적인 문제는 없으나 실행 중 발생하는 예상치 못한 문제(Error: 천재지변이나 네트워크 문제와 같이 소프트웨어적으로 해결할 수 없는 문제. 예외와 엄격하게 구별하여 사용할 필요는 없음)
    -예외 관련 클래스는 Exception 클래스를 상속함

0개의 댓글