유튜브에서 코딩 교육 채널을 운영하고 있는 나도코딩입니다.
누구나 쉽고 재미있게 코딩을 공부하실 수 있도록 친절한 설명과 쉬운 예제로 강의합니다.
코딩, 함께 하실래요? 😊
🧡 유튜브 나도코딩
🎁 코딩 자율학습 나도코딩의 파이썬 입문
📚 코딩 자율학습 나도코딩의 C 언어 입문
강의
로드맵
전체 1수강평
- 파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자
- 파이썬 무료 강의 (활용편3) - 웹 스크래핑 (5시간)
- 파이썬 무료 강의 (활용편1) - 추억의 오락실 게임 만들기 (3시간)
게시글
질문&답변
getter setter
안녕하세요?결론부터 말씀드리면, 코드가 실행되고 출력하는 데에는 어디에 넣든 영향이 없습니다. 하지만 강의에서는 아래 내용을 염두에 두고 코드를 작성했어요.setPrice : 잘못된 값이 들어오면 최소값인 10만원으로 강제 설정하여 어떤 경우에도 price 변수에 유효하지 않은 값이 저장되는 것을 막습니다. 마치 놀이 공원 입구에서 자유 이용권을 확인하고 나서 손님들을 들여보내게 되면 놀이 공원 안에는 항상 자유 이용권을 가진 사람만 있다는 것이 보장이 되지요.getResolution (model 이 아닌 resolution 맞죠? 😊) : 내부 데이터를 사용자에게 어떻게 보여줄지 결정하는 역할을 합니다. resolution 은 값이 입력되지 않을 수 있으며 시스템 내부적으로는 문제 없는 유효한 상태일 수 있어요. 하지만 사용자에게 null 이라고 한다거나 비어 있는 값을 그대로 보여주는 것은 썩 친절하지 못하죠. 따라서 이러한 데이터를 외부에 보여주기 전에 사용자 친화적인 형태(또는 대체값)로 가공을 하는 것입니다. 마치 식당에서 키오스크로 주문을 하려고 하는데 어떤 메뉴의 재료가 떨어져서 주문이 불가능한 경우 '준비중입니다' 라고 하는 문구를 보여주는 것과 같이 말이죠.정리하면, 예제에서 setter 는 데이터 무결성을 지키는 역할, getter 는 사용자 친화적인 출력 가공 역할을 하도록 작성하였습니다. 두 메소드에서 각각 처리한 이유는 데이터의 성격과 요구사항이 다르기 때문이며, 이는 반드시 지켜야 하는 규칙은 아니지만 역할에 따라 유연하게 코드를 작성하는 것이 좋은 습관입니다 🙌감사합니다.
- 0
- 2
- 17
질문&답변
섹션9. 66 메소드 오버로딩 시 질문이 있습니다.
안녕하세요?질문에 아래와 같이 답변 드립니다.// 1. 매개변수가 3개인 record 메소드 void record(boolean showDateTime, boolean showSpeed, int min) { ... } // 2. 매개변수가 없는 record 메소드 void record() { ... }먼저 위와 같이 2개의 메소드를 두고 각각 사용하도록 예제를 구성하였는데요. 이렇게 한 가장 큰 이유는 바로 편의성 때문입니다.만약 매개변수가 없는 record() 메소드가 없다고 가정해 봅시다. 사용자가 날짜와 속도를 항상 표시하고, 5분 단위로 녹화하는 가장 일반적인 기능을 쓰고 싶을 때도 매번 아래와 같이 코드를 작성해야 하겠지요.record(true, true, 5); // 항상 이렇게 모든 값을 넘겨줘야 함하지만 record() 메소드를 오버로딩으로 만들어두면, 사용자는 그냥 기본값으로 녹화하고 싶을 때 간단하게 record(); 라고만 호출하면 됩니다. 내부적으로는 record(true, true, 5);가 호출되니 결과는 같지만, 코드를 사용하는 입장에서는 훨씬 간결하고 편리해지는 것이죠.즉, 오버로딩을 통해 두 가지 선택지를 제공하는 것입니다.record(): "가장 일반적인 설정(기본값)으로 녹화해 줘."record(boolean, boolean, int): "내가 원하는 세부 설정을 줄 테니 그대로 녹화해 줘."이렇게 하면 하나의 메소드 정의로 모든 경우를 처리하려고 복잡한 로직을 만드는 것보다 훨씬 코드가 깔끔하고 직관적이 됩니다.이해가 되셨을까요? 여전히 궁금증이 남는다면 다시 답글 남겨주시면 다르게 설명드리겠습니다 😊아, 그리고 if문에 대한 추가로 설명해 드릴 부분이 있습니다.if(showDateTime) { System.out.println("영상에 날짜 정보 표시"); } if(showSpeed) //위의 if 가 true 일때는 밑의 if가 실행이 안 되기 때문에 { System.out.println("영상에 속도 정보 표시"); }라고 작성을 하셨는데요.주석에 "위의 if가 true일 때는 밑의 if가 실행이 안 되기 때문에"라고 적어주신 부분은 잘못된 설명입니다. 코드에 작성된 두 개의 if문은 서로 독립적이에요. showDateTime이 true인지 아닌지 확인하는 첫 번째 if문과, showSpeed가 true인지 아닌지 확인하는 두 번째 if문은 서로에게 아무런 영향을 주지 않습니다.showDateTime이 true이면 첫 번째 if문 안의 코드가 실행되구요. 이와는 상관없이 showSpeed가 true이면 두 번째 if문 안의 코드도 실행됩니다.만약 둘 중 하나만 실행되게 하려면 if-else if 구조를 사용해야 하지만 현재 코드에서는 날짜 표시 여부와 속도 표시 여부가 별개의 옵션이므로, 각각 if문을 사용하는 것이 맞습니다.함께 알아두시면 좋겠습니다 🙌감사합니다.
- 0
- 1
- 21
질문&답변
안녕하세요 갑자기 프로그램 에러가 떠서 안되네요
안녕하세요?문제가 발생하는 정확한 원인은 파악이 어렵지만 관련하여 찾아본 결과 다음과 같이 File > Invalidate Cache 를 선택해보신 뒤 다시 시도를 부탁드립니다.(사진)계속해서 오류가 발생한다면 메시지 전체를 복사 붙여넣기 하여 새로운 질문글을 남겨주시면 확인 후 도움 드리도록 하겠습니다 😊또는 번거롭지만 IntelliJ 자체를 삭제 / 재설치 하면 웬만한 환경적인 문제는 해결이 될 수 있으니 고려해보시는 것도 좋겠습니다.감사합니다.
- 0
- 2
- 15
질문&답변
변수 이름짓는법
안녕하세요?에러 메시지가 어떻게 표시가 되고 있나요?작성하신 5강의 소스 코드가 보여지는 채로 전체 화면을 캡처하셔서 올려주시면 확인 후 도움드리겠습니다 😊감사합니다.
- 0
- 2
- 38
질문&답변
intelli J 실행오류
안녕하세요?어디서부터 실행이 안되시는지 조금 더 자세히 알려주실 수 있으실까요? 인텔리제이를 더블 클릭했을 때 아무런 반응이 없는지, 또는 에러 메시지가 발생하는지요? 혹시 모르니 이전 버전의 프로그램을 설치해보시는 것도 대안이 될 수가 있답니다. 👉https://www.jetbrains.com/ko-kr/idea/download/other.html감사합니다 😊
- 0
- 2
- 27
질문&답변
혹시 이건 수학적 사고가 부족한 걸까요?
안녕하세요?프로그래밍을 공부하시는 분들이 자주 하시는 질문입니다 😊 열심히 고민을 해서 코드를 만들고 올바로 동작하는 것을 본 뒤에 퀴즈 정답을 봤더니 선생님은 허무하게 한 줄로 끝내더라 라는 것인데요. 결론부터 말씀드리면 아주 정석으로 올바른 길을 잘 걷고 계십니다.제가 수영을 배울 때 선생님께서는 자유형을 처음에는 팔을 쭉 뻗고 돌리라고 하셨어요. 그런데 옆 레인의 사람들은 모두 팔을 ㄱ자로 접었다가 펼쳤다가 하면서 멋있게 팔을 젓더라구요. 저도 바로 그렇게 할 수 있을 것 같았으나 그냥 시키는대로 하였고, 머지 않아 단계적으로 자세를 교정해주시면서 그분들처럼 보다 자유롭게 팔 동작을 하게 되었습니다. 시간이 지나고 보니 팔을 쭉 뻗고 돌리는 과정을 겪은 덕분에 오히려 호흡이 자연스럽고 힘이 많이 들어가지 않게 수영을 할 수 있었던 것 같아요.비록 지금은 geforce3080ti 님께서 가까운 길을 두고 먼 길로 돌아가는 것처럼 보이실 수 있지만, 충분히 스스로 고민을 해보시고 문제 해결을 한 다음 정답 코드를 보면서 나의 코드와 어떻게 다른지를 비교하고, 저렇게 하면 보다 간편하고 효율적으로 코드를 작성할 수 있겠구나 하는 것을 배우셨다면 그것으로 충분한 가치를 지닙니다. 오히려 단계적으로 잘 성장하고 있는 과정이며 코드가 다소 복잡하게 느껴지더라도 지금 레벨에서는 괜찮으니 신경쓰지 않으셔도 좋습니다 😍감사합니다.
- 0
- 2
- 79
질문&답변
영상이 재생이 안됩니다.
안녕하세요?먼저 수강에 불편드려 죄송합니다. 영상 재생 문제 관련은 사용하시는 인프런 측에 문의를 해주시면 보다 빠르고 정확하게 도움을 받으실 수 있습니다. 번거로우시겠지만 우측 하단 1:1 문의하기(나뭇잎 버튼)로 문의 부탁드립니다. 🙏🏻 문의글에는 본 질문 게시글에 작성해주신 브라우저 정보 및 증상을 그대로 복붙해주시면 되겠습니다.문제가 해결될 때까지는 온라인에 무료로 공개된 유튜브 영상으로 시청을 부탁드립니다. 클래스 이전까지의 내용은 100% 동일하게 제공되고 있습니다 😊👉https://youtu.be/NQq0dOoEPUM감사합니다.
- 0
- 3
- 49
질문&답변
이중 반복문 (후반전) 오른쪽으로 치우친 별 쌓기에 질문이 있습니다.
안녕하세요?작성해주신 코드로도 원하는 결과물을 출력할 수 있습니다. 반복 횟수 또한 동일하기 때문에 비효율적인 요소는 없어요. 다만 인프런 AI 인턴의 답변처럼 마지막에 별(*)을 출력하고 줄바꿈하는 부분은 반복문 k 의 조건을 '작다' 에서 '작거나 같다' 로 바꿈으로써 조금 더 간소화할 여지가 있네요 😄 for (int i=0; i이중 반복문 학습을 이렇게 강의와 다르게 응용해주시는 것, 너무 좋은 학습 방법입니다 ^^ 또 다른 질문 생기면 언제든 글 남겨주세요!감사합니다.
- 0
- 2
- 82
질문&답변
응용이 어렵습니다.
안녕하세요?기본편에서 다루는 내용, 특히 클래스 전까지 다루는 내용은 단 하나도 빠트리지 말고 모두 완전히 익히셔야 합니다. 너무 중요한 내용이며 다른 프로그래밍 언어에서도 동일한 개념이 적용되거든요. 그래서 다소 힘드시겠지만 반복문으로 돌아가서 다시 한 번 강의를 듣고 이해하려고 노력해보시면 좋겠습니다. 이해가 가지 않는 부분이 있다면 몇 번이고 괜찮으니 이 곳에 질문을 남겨주세요! 어떤 부분이 어떻게, 어디서 이해가 안가는지 알려주시면 제가 어떻게 해서든지 데이모스님을 이해시켜 드리도록 하겠습니다. ^^ 시간이 조금 걸리더라도, 알고 넘어갑시다.감사합니다.
- 0
- 2
- 131
질문&답변
IntelliJ가 보이지 않습니다.
안녕하세요?IntelliJ 프로그램은 압축파일에 포함되지 않아요. 아래 링크에 접속하셔서 다운로드 및 설치를 부탁드리겠습니다 😊스크롤을 조금 내리셔서 Community Edition 을 받으시면 됩니다.👉 https://www.jetbrains.com/idea/download/?section=windows(사진)감사합니다.
- 0
- 3
- 114