혼자 공부하는 파이썬 개정판 83강 - 상속 기본

Поділитися
Вставка
  • Опубліковано 18 вер 2024
  • 다음 강의까지만 찍으면....
    이제 아무 생각 없이 녹화할 수 있는 강의만 남는군요....
    코드: [[gist.github.co...]]
    상속의 위험성
    "상속"이라는 테크닉은
    굉장히 강력한 힘을 가진 마법과도 같아서
    제대로 못 다루는 사람이 사용했을 경우
    프로젝트 전체가 개박살나버립니다[...]
    그래서 설계 책들을 보면
    """상속보다 컴포지션을 먼저 검토해보세요"""라는 말이 많이 나옵니다.
    따라서 지금 상속 문법을 설명하기는 하지만
    여러분이 여러 프레임워크를 통해 "상속은 이럴 때 쓰는구나"를 이해하기 전까지는
    부모 클래스를 직접 만들어서
    상속 관계를 구성하려는 행위를 피하기 바랍니다.
    PS. 프레임워크가 강제하는 상속만 활용해주세요[대부분 자식만 만들면 됩니다].
    그 단계가 오기 전까지는
    전략 패턴 등으로 정형화된 패턴을 구현할 때만
    부모 클래스를 직접 만들기 바랍니다.
    초보자가 부모 클래스를 직접 만드는 행위는 경계해야 합니다.
    이후에 프레임워크들을 공부할 때
    상속을 눈으로 봐야하므로
    초보자 책에서 상속을 안 다룰 수는 없어서 상속을 다룬 것입니다.
    """초보자 책에서도 설명하는
    만만하고 쉽고 기본적이고 필수적으로 써야하는 것이구나
    나도 부모 클래스를 한 번 만들어볼까 ^_^ ...."""라고 생각하고 썼다가
    프로젝트 개발이 박살나는 경우가 많으니 주의해주세요.
    PS. 다시 언급하지만 프레임워크가 강제하는 상속만 활용해주세요.
    회사 코드도 겅계적으로 살펴보기
    이미 회사에서 일하고 있는 분들도
    프로젝트에 상속이 사용되어 있어서
    "상속은 이렇게 쓰는거구나 ^_^ ...."하고 받아 들이는 경우가 많은데
    이미 그게 위의 과정을 거쳐서 박살난
    암흑의 덩어리일 수도 있으니[...]
    주의하고 경계하면서
    "이게 정말 여기 이렇게 쓰는거 맞아?"하고
    한 걸음 떨어져서 살펴보기 바랍니다.
    PS. 지금 강의의 코드도 이게 프로그램이 작으니
    "상속이 효과적이구나 ^_^ ...."할 수 있는데
    규모가 커지면 상황에 따라서 어떻게 될지 당연히 모릅니다.
    그래서 강의의 코드도 경계해서 살펴봐주세요.
    동적 언어의 한계
    파이썬 같은 동적 언어는
    이후에 이터레이터 구현할 때도 보시겠지만
    대충대충 작성해도 상속처럼 구현되어
    어떻게 잘 돌아갑니다[...][정적 언어 사람들 입장에서는 충격의 코드]
    PS. """이터레이터를 인터페이스 상속 없이 구현하다니.... 기절...."""
    그래서 파이썬으로 설계 등을 느끼기가 힘듭니다.
    상속과 관련된 내용을 조금 더 깊게
    + 이걸로 어떻게 설계하는지 정확하게 보고 싶으시다면
    Java, C# 등의 "객체 지향 프로그래밍" + "정적 언어"가 결합된 언어를
    공부해보시는걸 추천드립니다!
    PS. 사실 파이썬은 언어 자체가
    Java, C#처럼 거대한 프로그램을 만들 때 최적화된 아이가 아니라
    설계가 그 정도로 고도화 될 정도의 코드를 작성하지 않아
    설계 공부에 적합하지 않습니다.

КОМЕНТАРІ • 9

  • @JeongWooPark-iz3pb
    @JeongWooPark-iz3pb 3 дні тому

    class 부분 중에 상속이 제일 이해가 잘 되고 재밌네요 ^^ 항상 좋은 강의 해주셔서 감사합니다
    2024.09.16

  • @진짜채널
    @진짜채널 Рік тому

    바로 어제 올리신 영상이네요 감사합니다.

  • @boseongcho62
    @boseongcho62 Рік тому

    좋은 강의 감사드립니다.

  • @doriang57
    @doriang57 Рік тому

    혼공자 클래스 파트 들어가고 있는데 간간이 보이는 상속(다른 자바강의에서도 보았고, 슨생님 이전 혼공파 강의에서도 들었...(그때는 저게 뭔가~~)).
    이렇게 경계하시는 걸 보니 조심해서 배워야겠네요.
    영상이 보다보니 벌써끝? 이런 느낌이네요.
    오늘도 감사합니다~ ^^
    PS. 중요한건 아닙니다만...
    # 회사 코드도 "겅"계적으로 살펴보기
    눈에 띄길래... ㅎㅎㅎ

  • @jaekunyoo8509
    @jaekunyoo8509 Рік тому

    안녕하세요. 감사히 잘 봤어요.
    전체 영상 마치고 다시 반복해서 기억지속하려 해요.
    2023년 7월 27일 목 20시47분 태평양 시간

  • @jiyu_1031
    @jiyu_1031 Рік тому

    선생님?윤인성님?교수님? 질문이 있어요 비주얼 스튜디오 코드랑 비주얼 스튜디오 차이점이 뭔가요? c언어 할려면 비주얼 스튜디오로 해야하나요?

    • @user-rh1qt9zn7h
      @user-rh1qt9zn7h  Рік тому +1

      Visual Studio는 굉장히 많은 기능을 탑재하고 있는 통합개발환경이고
      Visual Studio Code는 필수적인 기능만을 탑재하고 있는 개발환경입니다[에디터].
      C 언어는 뭐 메모장으로 코드 입력해도
      컴파일러만 따로 설치하면 실행할 수 있으므로
      둘 중 어떤 것을 사용하셔도 문제 없이 할 수 있습니다.
      개인적으로는 C 언어를 제대로 할 것이라면 VSCode로 코드를 작성하고
      → 터미널 명령어로 컴파일하고 실행하는 것을 추천드리지만
      아무 것도 모르는 개인이 혼자서 공부할 때 하기는 힘든 과정입니다.
      지금 이걸 저에게 묻고 있다는 것 자체가
      (1) 주변에 C 언어를 하나하나 지도해줄 분이 없다
      (2) 프로그래밍을 아직 잘 모른다.
      (3) 프로그래밍 관련 정보를 흡수할 커뮤니티 사용법을 아직 모른다.
      라는 의미로 보이는데
      이 3가지 상황 중에 하나라도 해당된다면
      C 언어를 공부를 추천드리지 않습니다.
      - 할 이유가 없고
      - 했을 때 잘못된 정보로 인해서 잘못 공부할 가능성이 높기 때문입니다.
      어떤 목적으로 공부하시는지 조금 더 자세히 알려주신다면
      조금 더 자세한 답변이 가능할 것 같습니다.
      PS. Visual Studio로 [F5] 눌러서 실행하는 C 언어는 공부해봤자 활용성이 없고
      국내 책과 인터넷이 C 언어와 관련해
      버전 대응이 너무 느리고 + 잘못된 내용이 많아서
      잘못된 내용을 공부할 가능성이 높습니다.
      [C 언어를 공부하려면 외국 커뮤니티 쪽으로 가야 합니다]

    • @user-rh1qt9zn7h
      @user-rh1qt9zn7h  Рік тому

      직접 찾아봐야 합니다. 강의와 상관 없는 내용은 원래 답변드리지 않습니다[끝이 없어서]. 파이썬 진행 중 둘의 차이가 궁금해서 물어보신건줄 알았는데, C언어로 게임 개발을 하신다면 관련 책 또는 강의 강사 분에게 자세한 내용을 물어보시기 바랍니다!

  • @jaekunyoo8509
    @jaekunyoo8509 Рік тому

    안녕하세요. 감사히 잘 봤어요.
    2023년 7월 14일 금 16시 태평양 시간