개인적으로는 oop이 가장 사람 사고방식이랑 맞는거같아서 맘에 드는데 대규모 프로젝트에서 꾸덕꾸덕해진 코드 때문에 요즘 트렌드에서는 저물어가는게 보기 안타깝습니다 아마 초보자분들이 oop을 어렵게 느끼는건 코드부터 봐서 그런 것 같네요 이런 영상이 많이 퍼졌으면 좋겠습니다!
캡슐화가 이해하기 애매모호 하다고 느끼는게 책으로 배울때 필드들을 private으로 지정하여 외부로부터 직접접근을 막고 메서드로 간접접근하여 정보은닉한다고 배웠거든요 근데 실상 코드를 작성할때는 getter/setter를 사용하여 말만 메서드를 사용하여 간접접근이지 정보은닉도 안되고 심지어 setter를 이용하여 필드 수정도 가능한데 "이 설명이 맞아?"라는 생각을 자주 했습니다. 얄코님은 어떻게 생각하시나요???
인터페이스와 추상클래스를 이런식의 비유로 접하면 구분하기 쉬운데 막상 적용할 시점이 되면 헷갈리더라구여.. 만약 네이버, 쿠팡, 지마켓, 11번가 등 쇼핑몰에서 내 주문목록들을 크롤링해서 가져오는 역할을 하는 클래스들을 설계한다고 했을때, 공통적으로 사이트에 로그인을 하는 메소드, 주문목록을 가져오는 메소드가 있다면, 이것들을 인터페이스로 정의하는게 맞을지 추상클래스로 정의하는게 맞을지 궁금합니다. 추상클래스인가..?
말씀주신 바로는 어떤 구조인지, 제가 여쭤본 바에.대한 답을 명확히 알 수 없어요. 추상 클래스와 인터페이스의 문법적 차이, 적용할 수 있는 곳의 차이를 알고 계시죠? 해당 기능을 특정 계열의 최고조상으로부터 독점적 &필수적으로 내려받게 할 건가요 아니면 계열에 상관없이 필요한 클래스에 적용할 수 있게 할 건가요? 그것에 맞게 사용하시면 되는겁니다.
추상 클래스는 상속(is-a)의 개념이자 부모의 속성과 메서드가 필요하면서 추상화된 메서드를 자식 내에서 직접 구현해야 할 때 사용하는 것이고 (animal의 makeSound()와 같이 animal의 자식 클래스라면 모두 구현이 필요) 인터페이스는 상속과는 상관없이 그냥 특정 기능이 필요할 때(has-a), 기존에 정의만 되어 있는 껍데기 메서드를 구현해서 사용하는 방식으로 이해했는데 맞나요? (swim()과 같은 메서드는 특정 클래스만 필요) 예제를 보면, 이해가 쉬운데... 막상 제 나름대로 설명하려니 되게 어렵네요.
처음 익히시는 분들에게는 쉽게 접근하도록, 경력자들에겐 다시한번 머릿속 내용 정리에 도움이 될것 같습니다. 감사합니다.
영상 좋게 보아주셔서 감사합니다!!
🎫 얄코 강의 선착순 반값쿠폰 (매주 갱신)
bit.ly/yalco-fcfs-coupon
얄코 강좌들 보기:
www.yalco.kr/#lectures
얄코 책 보기:
www.yalco.kr/#books
객체지향 영상을
5년전에 고등학생일때 봤던걸 다시
복습하려고 왔는데 새롭게 업로드 됐네요
지금 대학생이 되어서 다시 복습하는데 도움이 됐어요 좋은영상 감사합니다
도움되어드려 기쁩니다!! 감사합니다!!
처음 oop 개념 익힐때가 생각나네요. 와 내가 머리가 나쁘구나 처음으로 벽을 느낀 😁실제로 코딩을 해봐야 알 수 있습니다. 이 개념만 알면 코딩이 더 재밌어 져요. 꼭 레고 조립처럼.
맞아요, 딱 이 산을 넘으면 정말 재밌어지죠. 함수형 등을 배우면 또 한번 더 재밌어지구요. 공부할수록 즐거워지는 것 같습니다.
그림이랑 비유가 너무 귀엽고 찰떡같아요 최고 .. !!
감사합니다!
홍명보 기자회견 끝나고 집가는속도로 왔습니다
개인적으로는 oop이 가장 사람 사고방식이랑 맞는거같아서 맘에 드는데
대규모 프로젝트에서 꾸덕꾸덕해진 코드 때문에 요즘 트렌드에서는 저물어가는게 보기 안타깝습니다
아마 초보자분들이 oop을 어렵게 느끼는건 코드부터 봐서 그런 것 같네요
이런 영상이 많이 퍼졌으면 좋겠습니다!
감사합니다!!
캡슐화가 이해하기 애매모호 하다고 느끼는게
책으로 배울때 필드들을 private으로 지정하여 외부로부터 직접접근을 막고 메서드로 간접접근하여 정보은닉한다고 배웠거든요
근데 실상 코드를 작성할때는 getter/setter를 사용하여 말만 메서드를 사용하여 간접접근이지 정보은닉도 안되고 심지어 setter를 이용하여 필드 수정도 가능한데 "이 설명이 맞아?"라는 생각을 자주 했습니다.
얄코님은 어떻게 생각하시나요???
getter와 setter는 단지 그 항목을 그대로 넣거나 쓰기 위해 만든게 아닙니다. 그걸로 데이터의 조회와 수정을 통제하는 예제들을 찾아보시면 쉽게 이해가 가실 거예요.
ua-cam.com/video/iN22AgS_Chk/v-deo.htmlsi=V0AGIg_nwlZh3lv3&t=26959
위 링크를 보시면(재생할 시간 링크에 포함되어있음, 7:29:01) 관련 부분을 설명하고 있는데 이해에 도움이 되실 것입니다.
@@yalco-coding 감사합니다!
@@yalco-coding getter의 경우에는 단순 반환이 아니라 어떤 과정을 거쳐서 반환하기 위해서, 혹은 그렇지 않더라도 나중에 바꿀 때를 위해서 사용하는 건가요?
위의 링크에서 설명드린 내용을 보시고 정리하신거라면, 이해하신 바가 맞습니다. 😀
쉽게 설명하셨네요 감사합니다
감사합니다!
인터페이스와 추상클래스를 이런식의 비유로 접하면 구분하기 쉬운데 막상 적용할 시점이 되면 헷갈리더라구여..
만약 네이버, 쿠팡, 지마켓, 11번가 등 쇼핑몰에서 내 주문목록들을 크롤링해서 가져오는 역할을 하는 클래스들을 설계한다고 했을때,
공통적으로 사이트에 로그인을 하는 메소드, 주문목록을 가져오는 메소드가 있다면, 이것들을 인터페이스로 정의하는게 맞을지 추상클래스로 정의하는게 맞을지 궁금합니다. 추상클래스인가..?
추상 클래스를 생각하셨다는 건, 그 기능을 특정 족보상의 클래스들에만 적용할거고 그에 속한 모든 클래스가 포함해야 할 메소드이고 필드도 두실 계획이신건가요? 프로그램 설계마다 알맞은 선택을 내리면 됩니다.
rest요청시 쇼핑몰 파라미터로 지정 -> 서비스단에서 크롤링하는 객체 생성 -> OrderCollector를 상속받은 AOrderCollector를 생성하면서 크롤링객체 주입 순인데
OrderCollector라는 추상클래스 or 인터페이스에 login(), getOrders() 꼴랑 2개밖에 없긴 하네여
네이버OrderCollector, 쿠팡OrderCollector 뭐 이런식으로 구현체들을 만들고 그들은 login() getOrder()를 상속받아 구현하게 될 예정입니다..
말씀주신 바로는 어떤 구조인지, 제가 여쭤본 바에.대한 답을 명확히 알 수 없어요. 추상 클래스와 인터페이스의 문법적 차이, 적용할 수 있는 곳의 차이를 알고 계시죠? 해당 기능을 특정 계열의 최고조상으로부터 독점적 &필수적으로 내려받게 할 건가요 아니면 계열에 상관없이 필요한 클래스에 적용할 수 있게 할 건가요? 그것에 맞게 사용하시면 되는겁니다.
제가 중간에 달았던 대댓글 2개가 저한텐 지금 안보이는데 그거에 대해 다시 답을 달아주신거죠? 일단 실제로 코드를 작성하면서 생각해보겠읍니다
추상 클래스는 상속(is-a)의 개념이자 부모의 속성과 메서드가 필요하면서 추상화된 메서드를 자식 내에서 직접 구현해야 할 때 사용하는 것이고 (animal의 makeSound()와 같이 animal의 자식 클래스라면 모두 구현이 필요)
인터페이스는 상속과는 상관없이 그냥 특정 기능이 필요할 때(has-a), 기존에 정의만 되어 있는 껍데기 메서드를 구현해서 사용하는 방식으로 이해했는데 맞나요? (swim()과 같은 메서드는 특정 클래스만 필요)
예제를 보면, 이해가 쉬운데... 막상 제 나름대로 설명하려니 되게 어렵네요.
일단 큰 그림은 맞습니다. 추상 클래스의 메소드 그리고 자바에서 인터페이스의 디폴트, 정적 메소드는 그 자신이 구현할 수 있다는 점 등 추가적인 디테일을 알아두시면 돼요. 🙂
@@yalco-coding 감사합니다!
행님 이거 메이플스토리 전직처럼 이해하니까 매우 편합니다!?..! 요번 비유 잘 하신듯 합니다
마차관련되서는 쫌 잘 이해가 안되긴 하네 'ㅅ';;
자바 등의 인터페이스 문법을 일단 알고계신가요? 그걸 알아야 이해할 수 있는 내용입니다.
아싸!! 저 오늘 포켓몬 api로 oop하려고 했는데 ㅎㅎ. 코딩 지식 냠냠 먹고 잘해보겠습니다!
교수님 c#강의 생각 있으신가요?
교수라니;; C#도 기회되면 다뤄보고 싶은데 꽤 나중이 될 것 같습니다.
윈폼이나 WPF도...
오... 맛있네여
좋다좋아
힝 어려워요 돌머리인가봐요 ㅠ
영상에서 말씀드렸듯 해당 문법들 배운게 아니면 못 알아듣는게 정상입니다 🙂
다음 영상에서 코드로 알려주시나요??
일단 어떤 언어를 어느정도 알고계신가요? 객체, 추상클래스, 인터페이스 등의 문법을 알고 계신가요? 이걸 일단 배운 사람들을 위한 영상이 될 겁니다.
알겠나요 왜없어
윽 그거 요즘 안합니다 ㄷㄷ
@@yalco-coding 님 옛날영상꺼보다 요즘꺼보니까 흑흑 완전 다른사람이...
그때 영상들은 부끄러워서 못 봅니다🥶
@@yalco-coding 저는 완전 좋았어요 머리에 쏙쏙들어오고 ㅎㅎ 아무튼 영상감사합니다!!
좋게 보아주셔서 감사합니다!!
Hello World