CompanyEamil 클래스는 EmailMessage로부터 파생된 클래스이고, EmailMessage은 CompanyEamil의 Base 클래스입니다. CompanyEamil 생성자에서 base(email)를 호출하면, Base 클래스인 EmailMessage의 생성자 EmailMessage(string email) 을 호출하게 됩니다. 이때 CompanyEamil 생성자에서 입력 받은 email 파라미터를 EmailMessage 생성자에게 그대로 전달하게 됩니다.
@@csharpstudy 제 말은 굳이 추상 클래스를 쓰지 않더라도 일반 클래스를 써도 가능하지 않냐 이거죠. 단순히 다형성 구현에 좋다고만 하면 잘 이해가 안되서요. 일반 클래스와 비교해서 어떤면에서 더 유용한지 알고 싶습니다. 저한텐 추상클래스와 인터페이스는 너무 어려운 개념이라서요..
@@csharpstudy 100% 이해는 되지 않지만 뭔가 형태가 잡힌다고 해야할까요?? 프로그래밍은 개념만 이해하면 문법은 문제가 안될것 같은 느낌이네요. 용어도 이해않되고 왜 이걸 써야하는지도 모르겠고 다른 교재나 유튭채널을 봐도 단순히 문법 설명이 전부이고 그렇네요. 그나마 이렇게 피드백 해주시니 너무 감사합니다.
좋은 강의 항상 감사드립니다. (@07:32 볼차례)
덕분에 즐겁게 c# 공부를 하고 있습니다. 감사합니다.
많은 도움이 되엇습니다.
감사합니다.
강의 잘봤습니다.
좋은 강의 덕분에 열심히 보고 있습니다. 마지막 부분에 public CompanyEamil(string email) : base(email) 여기에서 base(email) 이 부분에 대해 조금 더 설명해 주시면 감사하겠습니다.
CompanyEamil 클래스는 EmailMessage로부터 파생된 클래스이고, EmailMessage은 CompanyEamil의 Base 클래스입니다.
CompanyEamil 생성자에서 base(email)를 호출하면, Base 클래스인 EmailMessage의 생성자 EmailMessage(string email)
을 호출하게 됩니다. 이때 CompanyEamil 생성자에서 입력 받은 email 파라미터를 EmailMessage 생성자에게 그대로 전달하게 됩니다.
@@csharpstudy 친절한 설명 감사드립니다.
선생님 질문하나만 봐주시면 감사하겠습니다 기반클래스를 상속받고있는 파생클래스의 인스턴스를 생성했을때
호출순서가 기반클래스생성자 -> 파생클래스 생성자인데
이때 파생클래스의 인스턴스가 메모리상에서 힙에담긴 파생클래스의 객체만 가리키고있고
그 객체안에 기반클래스객체가 같이 들어있는것인지 (하나의 힙메모리만 사용하고있다라는 얘기입니다)
아니면 기반클래스 객체따로 파생클래스 객체따로 총 2곳을 가리키고있는것인지 궁금합니다 답변주시면 감사하겠습니다..
좋은 질문입니다. 간단히 답부터 말씀드면 파생클래스 객체 안에 함께 들어 있습니다 (하나의 힙메모리 사용). 좀 더 자세한 내용은 www.csharpstudy.com/DevNote/Article/27 아티클을 참고하십시오.
@@csharpstudy 선생님 감사합니다 공부하다 궁금한점이 많았는데 항상 씨샵스터디에 정확하게 정리가 많이되어있더라구요.. 항상 감사합니다
정말 잘봤습니다.
강의 감사합니다.
코드 입력 중에 ToolBox에 몇 가지 예제 코드들(get,set 등)이 나오는데,
그건 어떻게 해야 나오나요?
저는 그냥 빈 화면만 나옵니다.
VS code editor에서 코드 블럭을 선택해서 툴박스로 드래그 앤 드랍 하시면 됩니다. 즉, 자주 쓰는 코드를 미리 저장해두고 사용하는 것입니다
@@csharpstudy 놀라울 정도로 빠른 답변 감사합니다. 저도 이 기능 써봐야겠습니다~
추상클래스는 왜 쓰는 건가요??? 굳이 추상메소드/오버라이딩까지 해가며 쓸 필요가 없어보이는 데요..
객체지향 프로그래밍의 다형성(polymorphism) 구현에 유용하게 사용될 수 있습니다.
@@csharpstudy 제 말은 굳이 추상 클래스를 쓰지 않더라도 일반 클래스를 써도 가능하지 않냐 이거죠. 단순히 다형성 구현에 좋다고만 하면 잘 이해가 안되서요. 일반 클래스와 비교해서 어떤면에서 더 유용한지 알고 싶습니다. 저한텐 추상클래스와 인터페이스는 너무 어려운 개념이라서요..
일반클래스를 쓰면 객체를 생성할 수 있습니다. Base클래스의 인스턴스를 생성할 수 없도록 추상클래스를 사용합니다. 논리적으로는 Base클래스의 메서드가 어떤 구현을 갖지 않는 경우 (어떤 구현을 갖는 것이 부적절한 경우) 사용합니다.
@@csharpstudy 100% 이해는 되지 않지만 뭔가 형태가 잡힌다고 해야할까요?? 프로그래밍은 개념만 이해하면 문법은 문제가 안될것 같은 느낌이네요. 용어도 이해않되고 왜 이걸 써야하는지도 모르겠고 다른 교재나 유튭채널을 봐도 단순히 문법 설명이 전부이고 그렇네요. 그나마 이렇게 피드백 해주시니 너무 감사합니다.