여기 저기서 보이는 IEnumerable이란 무엇일까?

Поделиться
HTML-код
  • Опубликовано: 21 сен 2024
  • foreach, Linq등에 사용되는 IEnumerable과 IEnumerator에 대해서 설명합니다.

Комментарии • 17

  • @Gyokujin
    @Gyokujin 7 месяцев назад

    억지로 머리에 집어넣은 개념이 많았는데 선생님 덕분에 많이 정리되는것 같습니다 감사합니다 ㅎㅎ

    • @User_Masuri
      @User_Masuri  7 месяцев назад

      다들 저를 선생님이라고 부르시는군요 ㅋㅋㅋㅋ 도움이 되셨다면 다행이네요~~ 감사합니다!

  • @77ILI
    @77ILI Год назад

    막연하게 for each 라고 알고 있었는데,
    좋은 영상 감사합니다.

    • @User_Masuri
      @User_Masuri  Год назад

      인터페이스를 이용해서 돌아가는 로직이 여럿 있습니다. 대표적으로 using도 그렇네요 ㅎㅎ 이쪽 부분도 한번 확인해보시면 재밌으시지 않을까 싶습니다!

  • @geonhunlee2849
    @geonhunlee2849 4 года назад +1

    감사합니다!! 다음 강의 기다려지네요 ㅎ

    • @User_Masuri
      @User_Masuri  4 года назад

      감사합니다! 시간이 허락하는 한 많은 영상 올리도록 하겠습니다!!

  • @용쿤-o3p
    @용쿤-o3p 4 года назад

    와하 이해 바로 되네요. 정말 감사합니다. 보물이네요 여기

  • @김건희-n7g
    @김건희-n7g Год назад

    감사합니다 잘 이해했습니다.

    • @User_Masuri
      @User_Masuri  Год назад

      도움이 되셨다니 다행입니다!!!

  • @dentalkiwi
    @dentalkiwi 3 года назад

    감사합니다

  • @cozy8218
    @cozy8218 Год назад

    재밌다 ㅠㅠ

    • @User_Masuri
      @User_Masuri  Год назад

      재밌게 봐주셔서 감사합니다!!

  • @bravourlife3070
    @bravourlife3070 3 года назад

    열거고자 오늘도 치료받고 갑니다.
    초보로서 의문이 하나 있는데 구글링으로 해결이 되지 않았습니다.
    자바스크립트 같은 타입을 지정하지 않는 언어도 foreach문이 있잖아요? 걔네도 enumerable같은 기능을 background에 가지고 있는건가요?
    알고리즘을 찾아보니 비슷한 함수구현이 되어있는 것 같기도 한데.. 여쭤봅니다.

    • @User_Masuri
      @User_Masuri  3 года назад +1

      또 치료를 받고 가신다니 ㅋㅋㅋ 다행이네요!!
      질문 주신 부분은 저도 잘 모르는 부분이라 좀 검색을 해보고 알아내는게 있으면 다시 댓글 달겠습니다!
      다만 확실한 건 그들도 객체를 열거할 수 있는 무엇인가를 구현하고 있을 겁니다!! 그건 확실합니드아!

  • @onesummer9887
    @onesummer9887 2 года назад

    안녕하세요.
    제가 이해한게 맞는지 궁금해서 여쭤봅니다!
    IEnumerable 인터페이스는 IEnumerator 타입의 GetEnumerator() 추상 메서드를 포함하고있다.
    IEnumerable 인터페이스를 상속 받은 클래스는 GetEnumerator() 추상 메서드를 구현해야 한다.
    IEnumerator 인터페이스는 Current 프로퍼티, MoveNext(), Reset() 추상 메서드를 가지고 있다.
    클래스에 IEnumerable을 상속받아 GetEnumerator() 메서드를 구현한다.
    foreach 실행 시 GetEnumerator() 메서드가 실행되면서 MoveNext(), Current가 실행된다.
    여기까지 제가 이해한게 맞을까요?!
    한가지 궁금한 점은 보통 IEnumerable만 상속받아 사용하는건가요?
    IEnumerator를 상속받아 구현하는 경우는 어떤 경우인가요?

    • @User_Masuri
      @User_Masuri  2 года назад +2

      안녕하세요! 마수리입니다!
      질문 주신 것에 답변 드립니다!
      우선 이해하고 계신게 모두 맞습니다 잘 따라와 주셨네요
      결론부터 말씀드리면 지금 적어주신 내용을 하나하나 모두 알고 계실 필요보다는
      IEnumerable이라는 인터페이스를 이용해서 .Net이 일관되게 객체를 순회할 수 있다는 것이고
      그 원리는 설명해주신 것과 같다! 라고 공부해 두시면 됩니다!
      그리고 마지막에 주신 질문도 답변 드립니다!
      사실 IEnumerable이나 IEnumerator를 상속해서 새로운 순회가능한 자료구조를 만든 적은 없습니다.
      다른 분들의 코드를 보았던 경험을 비추어 보더라도 List를 상속 받아 새로운 객체를 만다는 것은 본적이 있습니디만
      직접 IEnumerable이나 IEnumerator를 상속받는 코드를 본적은 없습니다
      질문 주신 이유가 제 영상에서 그런 코드가 나와서라면..!! "공부용(?)으로 만든 코드"라고 생각해 주셔도 무방합니다! ㅋㅋ
      제 소견이 좁은걸지도 모르겠습니다만.... 만약 어디선가 객체를 순회해야하는일에
      IEnumerator를 직접 접근해서 MoveNext() 등을 직접 호출하는 코드가 있다면.. 물론 상황을 보아야 하겠지만.. 조금 어색해 보일 것 같습니다.
      (개인적인 의견입니다!!!!) 그러니 직접 2개의 인터페이스를 다루려하기보다 .Net이 2개의 인터페이스를 이용해
      객체를 추상화된 방법으로 순회할 수 있는 방법을 사용하고 있다! 정도만 이해해도 99점정도 될 겁니다!!
      누군가에게 질문하고 답변 받을 수 있는것도 기회고 축복일지 모릅니다 ㅋㅋ
      다른 문의 사항이 있으시면 언제든지 댓글 달아주세요!
      감사합니다!

    • @onesummer9887
      @onesummer9887 2 года назад

      ​@@User_Masuri 답글이 늦었습니다.
      IEnumerable과 IEnumerator를 상속받아 직접 구현한 예제를 본적이 있어서 뭔가 다 할줄 알아야할 것 같아서 여쭤봤습니다.
      다행히 말씀해주신대로 내부동작이 어떻게 진행되는지 이해만 하면 되는부분이군요!
      상세하게 답변 남겨주셔서 감사합니다.
      혹시 최근에도 C#을 사용하시나요?