와 정말 어려웠던 객체지향프로그래밍이 하나하나 다 이해가 되기 시작하네요 너무 좋은 강의 감사합니다ㅎㅎ 구독과 좋아요 꾹 누르고 가겠습니다! ㅎㅎ 아 혹시 static과 class가 나와서 그런데 factory라는 키워드를 dart에서 쓸 수 있는데 어떤 의미 인지 알 수 있을까요?
좋은 강의 만들어주셔서 감사합니다. 영상 내용 중에 생성자에 const를 사용하면, 새로운 인스턴스를 만들어줄 때, const를 사용해야한다는 말씀이신가요? 강의를 돌려봐도 잘 이해가 되지 않아서 댓글로 질문드립니다. 추가로 class안에 const를 상용하지 않고, 인스턴스를 생성할 때 const를 사용하는 경우는 어떻게 되나요? 미리 답변 감사합니다(꾸벅)
* 다트언어 기초 - ruclips.net/video/3Ck42C2ZCb8/видео.html (해당 강좌만 정독해도 다트 뿐 아니라 웬만한 프로그램 언어의 개념은 전부 이해할 수 있고 구조가 어떻게 생성되고 작동하는지 이해할 수 있게됩니다.) Ps. 다트언어 기초에 이어 정독 했습니다. 정말 놀라울 정도로 수준 높고 완성도가 높은 강좌입니다. 객체지향, 객제지향.. 말은 많이하지만 정확하게 그게 뭔지, 그걸 또 왜 필요로 하는지 설명이 두리뭉실해서 답답했었는데 완벽하게 이해하는 계기가 됐고, 이 강좌 보시는 분들은 이 영상만 봐도 객체지향 언어, 대표적으로 파이썬, 자바 같은 언어의 개념까지 전부 이해하실 수 있게 될거라 확신합니다. 다트를 배우기 위한 분들에게도 완벽한 강좌이지만, 뭘 배워야될지 모르시는 분들은 더욱 위에 링크부터 시작해서 이 강좌까지 보셨으면 좋겠네요.
import 'dart:math'; void main(){ Rich().nominate(); } class Rich {
List blackpink = ['지수','리사','제니','로제']; String nominee = blackpink[Random().nextInt(4)]; void nominate(){print(nominee);} } 여기서 nominee 변수선언 할 때 blackpink갖다 쓰는게 안됩니다 blackpink 대신에 this.blackpink로 해도 안되고 Rich().blackpink로 하면 maximum call stack size Error가 떠요 클래스 안에서 선언한 리스트의 한 밸류를 인덱스를 사용해서 변수로 지정하려고 합니다 어떻게 할 수 있을까요..??
무려 30시간!
아무것도 몰라도 배울 수 있는 코드팩토리의 Flutter 강의 바로가기!
bit.ly/3tflvR6
엄청 쉽게 설명해 주시네요. 쉽고... 재미있고...알차고...
잘듣고있습니다 감사합니다 54:00
18:57
정말 편안하게 그리고 이해가 쏙쏙 되게 들을 수 있는 강의입니다. 큰 도움 되었습니다.
dart의 기본에 이어 dart객체지향 프로그래밍 강의 잘봤습니다. 기본기 형성에 도움을 주셔서 감사합니다.
Dart를 이해할 수 있는 멋진 강의입니다
고생하셨습니다 !!!
감사합니다 ~~ 격려말씀이 정말 응원이 되네요 ㅠㅠ
오버라이드 설명 바로 이해했음요. 감사합니다.
코드팩토리 책을 보면서 이해안되는 부분들을 이영상을 보면 매우 이해가 빠르게 되네용..
너무 감사합니다. 개안하는 느낌이네용!!!
너무 도움 된 영상이라 댓글 남깁니다! 영상 만드느라 많이 힘드셨겠지만 앞으로도 많은 정보 공유 부탁드리겠습니다! 정말 감사합니다.
클래스 객체 생성시 메모리가 어떤 구조를 띄는지 설명해주면 훨씬 깊이 있게 이해가 되고 기억에도 오래 남을거 같습니다.
코틀린 배울때 급하게 프로젝트에 넣느라고 대충대충 해서 넘어갔던 개념들도 다트언어 배우면서 이해가 되기 시작했네요 강의 감사합니다
감사합니다 강의 잘들었습니다. 강의 음향도 좋고 전체적으로 OOP 개념 설명도 잘 들었습니다. 그리고 중간중간에 멘탈잡아주는 멘트도 많은사람들에게 도움될 것 같네요 ㅋㅋㅋㅋㅋ
잘 들었습니다. 강의가 깔끔하고 설명도 이해하기 편하게 좋아요. 감사합니다.
강의가 진짜 알차고 깔끔하네요 많이 배우고 갑니다 감사합니다!
너무 좋은 강의 잘 들었습니다
갓갓 좋은 영상 감사히 잘 보았습니다.
20:00 const 생성자; 같은 인스턴스를 만듬.
11:53
28:01
39:00
50:45
1:04:00
바닐라 자바스크립트에서 다트로 마이그레이션 진행하려 찾게 됐습니다. 강의가 너무 좋습니다. 이보다 더 쉽게 설명할 수 있을까 싶을 정도네요~
감사합니당~
감사합니다!
감사합니다~
이게 클래스의 정석 강의다...
머리에 쏙쏙 들ㅗ는 최고의 강의,,,감사합니다.
16:00final로 선언하는 이유
최근 플러터에 관심이 생겨 찾아보았는데
정말 알기쉽게 강의해주시네요
코드팩토리 본강의도 완강해야겠습니다
플러터 3.0이 좀더 스테이블해진다면
추후 3.0에서 생긴 새로운 기능들을
다시 한번 강의해주실 계획이 있으신가요?
네 추가해볼게요~
@@codefactory_official 감사합니다!!
잘보고 있어요!! 강의하시는데 재능 있으신 듯 🙆♀️
감사합니다🙂
와 정말 어려웠던 객체지향프로그래밍이 하나하나 다 이해가 되기 시작하네요 너무 좋은 강의 감사합니다ㅎㅎ 구독과 좋아요 꾹 누르고 가겠습니다! ㅎㅎ 아 혹시 static과 class가 나와서 그런데 factory라는 키워드를 dart에서 쓸 수 있는데 어떤 의미 인지 알 수 있을까요?
Factory를 빼먹었네요. Factory는 말 그대로 인스턴스를 만들어내는 일종의 공장이예요. 일반 생성자가 매번 새로운 인스턴스를 찍어내는데만 사용된다면 Factory를 사용하면 존재하던 인스턴스를 돌려줄수도 있고 상속된 인스턴스를 돌려줄수도 있어요!
@@codefactory_official 답변 너무나 감사합니다! ㅎㅎ 상속된 인스턴스도 돌려준다는 말씀이 이해가 잘 안되네요 ㅠㅠ 혹시 가능하다면 어떤 상황에 주로 쓰인다는 factory문 예시를 알려 주실 수 있나요?
@@cCODD 요기요
void main() {
final test= Test.ofChild();
print(test is Test2);
}
class Test{
Test();
factory Test.ofChild(){
return Test2();
}
}
class Test2 extends Test{}
c#, java 비슷하네요. 좀 더 간결한 느낌.
강의 너무 좋습니다 선생님. GetX 관련해서도 다시 강의해주실 수 있나요? GetX 관련 패키지들이 많은 것 같은데 포괄적으로 다루는 강의는 없는 것 같아서요.
참고할게요!
13:00
Dart가 재미있네요
interface를 abstract로 선언하기 때문에, 다중상속을 인터페이스로 구현하는 게 아닌가 보네요
20:49
이 강의 다음 강의가 어떤건지 알 수 있나요 ??? 코팩님?
책 내용에서 나오는 믹스인,추상,연산자는 없네용..
안녕하세요! 그 부분은 영상에 포함하지 않았습니다!
나중에 플러터 강의도 하신다고 예고해 주셨는데, 새로운 플러터 강의 기다리는 동안 전에 업로드 하셨던 플러터 강의 들어놓는게 좋을까요?!
현재 플러터 강의들은 초보용은 아니라 살짝 어려울순 있어요~
눈물나게 감사합니다. this가 10년만에 이해됩니다.
강좌감사합니다 무작정 플러터하다보니 다트문법에서 막혔는데 떠돌다가 여기에 정착함
간결하고 임팩트있는 강의 감사합니다.
혹시 override 할때에는 method명이 동일해야하나요???
Override의 목적 자체가 같은 메서드를 변경하는거라 이름은 같아야합니다!
헝헝 선생님 중간중간 "이건 원래 어려운 거에요." 라고 해주시는 부분이 너무 감사해요 ㅠㅠ. 학원을 가던 부트캠프를 가던 맨날 저만 뒤쳐지고 모르겠고 했는데 선생님이 용기를 주시니까 그나마 힘이 나서 끝까지 다 들었습니다. 감사합니다 ㅠㅠ.
오늘안에 다시 부숴본다
화이팅~!
Override에서 한 번 덮어쓰면 원래의 기능은 잃게 되는건가요?
원래의 기능은 원래의 클래스를 인스턴스화 하면 그대로 사용할 수 있습니다! 하지만 오버라이드를 한 클래스를 인스턴스화 하면 새로운 기능으로 적용돼요.
다트는 문법이 좀 더럽네요. 현대적 언어라고 기대를 좀 했는데...
플러터 기능 구현 때문에 저런가요?
bts멤버 이름을 다 외운다는게 제일 놀랍다 ㅜㅜ
저도 위키에서 배운겁니다 ㅋㅋㅋ
@@codefactory_official 아는 동생이 코딩 배운다고 여기 채널 알려줬는데 너무 쉽게 잘 설명해주시네요!! 😄 전 14년차 입니다! 화이팅!
@@할까말까-i1n 우와 큰형님이시네요. 소개 감사합니다!
좋은 강의 만들어주셔서 감사합니다. 영상 내용 중에 생성자에 const를 사용하면, 새로운 인스턴스를 만들어줄 때, const를 사용해야한다는 말씀이신가요? 강의를 돌려봐도 잘 이해가 되지 않아서 댓글로 질문드립니다. 추가로 class안에 const를 상용하지 않고, 인스턴스를 생성할 때 const를 사용하는 경우는 어떻게 되나요? 미리 답변 감사합니다(꾸벅)
Const 생성자를 지정해두면 const로 인스턴스를 만들어도되고 안만들어도돼요 (선택). Const 지정 안해두면 const로 인스턴스 못만듭니다
class에 바로 변수 줄때 default로 주면 static을 사용할 필요가 없는거 아닌가 생각이 드는데
static을 사용할때의 장점이 있는건가요?
constructor 생성할 때 random함수 사용은 왜 못하는건지 설명 부탁드려도 될까요? 자바스크립트에서 너머 오기가 쉽지 않네요-_-;;;
import 'dart:math';
void main() {
print(TestClass().rand);
}
class TestClass {
final int rand;
TestClass():rand = Random().nextInt(100);
}
이런거 말씀하시는건가요?
@@codefactory_official 저는 랜덤하게 생성된 값이 rand로 입력되는 줄 알았네요.
class Ball {
Ball(this.stage, this.radius, this.range);
double radius, range;
Map stage;
bool isEnemy = true;
int rotate = 0, rotate2 = 0;
int image = imgLocation[(Random().nextDouble() * range).floor + 1];
static int speedMax = 6, speedMin = 4;
final double speedx = Random().nextDouble() * (speedMax - speedMin) + speedMin;
final double speedy = Random().nextDouble() * (speedMax - speedMin) + speedMin;
double x = radius + (Random().nextDouble() * (stage.width - radius * 2));
double y = radius + (Random().nextDouble() * (stage.height - radius * 2));
double mana = radius * image.mass;
int expStatus = 0;
Effects effects = Effects();
}
뭔가 장황하지만 랜덤 값이 필요한 모든 곳에 저렇게 넣어으니까 에러가 사라집니다. 회신 감사드립니다.
30:00 ㅅㅂ 난 할수있다
45:34 ㅅㅂ 난 질수없다
아... 멍청한건지 inheritance 한 번에 이해가 안되네요
원래 좀 어려워요~
드디어 끝났다
ㅜ
ㅅㅂ 난 결국 이겨냈다 계속가자
* 다트언어 기초 - ruclips.net/video/3Ck42C2ZCb8/видео.html
(해당 강좌만 정독해도 다트 뿐 아니라 웬만한 프로그램 언어의 개념은
전부 이해할 수 있고 구조가 어떻게 생성되고 작동하는지 이해할 수 있게됩니다.)
Ps. 다트언어 기초에 이어 정독 했습니다.
정말 놀라울 정도로 수준 높고 완성도가 높은 강좌입니다.
객체지향, 객제지향.. 말은 많이하지만 정확하게 그게 뭔지, 그걸 또 왜 필요로 하는지
설명이 두리뭉실해서 답답했었는데 완벽하게 이해하는 계기가 됐고,
이 강좌 보시는 분들은 이 영상만 봐도 객체지향 언어, 대표적으로 파이썬, 자바 같은
언어의 개념까지 전부 이해하실 수 있게 될거라 확신합니다.
다트를 배우기 위한 분들에게도 완벽한 강좌이지만,
뭘 배워야될지 모르시는 분들은 더욱
위에 링크부터 시작해서 이 강좌까지 보셨으면 좋겠네요.
정말 감사합니다! 오늘도 기운 얻고갑니다~
@@codefactory_official 오늘 코팩님 책 샀어요ㅎㅎ 진심을 가득담아 감사드립니다!! 항상 행복하고 건강하세요!!
import 'dart:math';
void main(){
Rich().nominate();
}
class Rich {
List blackpink = ['지수','리사','제니','로제'];
String nominee = blackpink[Random().nextInt(4)];
void nominate(){print(nominee);}
}
여기서 nominee 변수선언 할 때 blackpink갖다 쓰는게 안됩니다
blackpink 대신에 this.blackpink로 해도 안되고 Rich().blackpink로 하면 maximum call stack size Error가 떠요
클래스 안에서 선언한 리스트의 한 밸류를 인덱스를 사용해서 변수로 지정하려고 합니다
어떻게 할 수 있을까요..??
nominee를 함수 내부로 옮기시면됩니다~
핵심만 쏙쏙 강의내용에 담아 주셨네요 ^^ 감사 합니다
좋은영상 감사합니다