생활코딩

Coding Everybody

코스 전체목록

닫기

Java

| 공개

수업소개

본 모듈은 자바 언어에 대한 기초 수업입니다. 텍스트 수업과 동영상 수업이 함께 제공 됩니다. 텍스트만으로도 완주 하실 수 있고, 동영상만으로도 완주 할 수 있도록 구성 되었습니다. 동시에 텍스트가 이해 안되면 동영상으로, 동영상이 이해 안되면 텍스트를 통해서 상호 보안적으로 학습하실 수 있습니다. 모든 동영상을 연속적으로 시청하고 싶으시면 Youtube 자바 입문 수업 재생목록을 이용하시면 됩니다. http://goo.gl/fuHtT3 본 수업은 생활코딩 페이스북 그룹을 통해서 연재 되었습니다. 

 

강의수준

프로그래밍을 처음 시작하는 분들의 눈높이에 맞게 만들어진 강의입니다. 이미 프로그래밍에 익숙한 분의 입장에서는 설명이 조금 장황할 수 있습니다.

 

선행학습

없습니다. 하지만, 프로그램을 처음 시작하는 분이라면 자바보다는 JavaScript나 Python, Ruby, PHP와 같은 언어를 먼저 해보실 것을 권합니다. 또는 생활코딩의 웹서비스 만들기 수업을 완주하신 후에 본 수업을 들으셔도 좋습니다. 자바는 조금 어렵기 때문입니다. 

 

학습의 효용

최소한 국내에서 자바는 가장 시장 규모가 큰 언어입니다. 기업용 시장에서는 전통적인 강자였고, 안드로이드가 주류가 되면서 다시 한 번 그 중요성이 커지고 있는 언어입니다. 또한 자바는 거대 규모의 소프트웨어를 만드는데 적합한 언어입니다. 따라서 웅장한 소프트웨어를 만들기 위해서 필요한 다양한 연구와 자료가 풍부한 언어입니다. 자바를 배운다는 것은 이러한 성취에 접근 할 수 있는 손쉬운 방법이기도 합니다. 

 

학습방법

필자는 공부는 신속하게, 실습은 느리게 할 것을 권유 드립니다. 즉 처음부터 너무 실습 위주로 꼼꼼하게 수업을 따라가는 것보다는 실습은 눈으로 따라가면서 전체적인 개념들을 우선 빠르게 파악하실 것을 권합니다. 모든 수업을 하루에 끝낼 수 있다면 최상이겠지만 늦어도 2주일 안에 완주하실 것을 권합니다. 그리고 전체적인 숲을 알게 된 후에 다시 처음부터 돌아와서 실습을 하나씩 꼼꼼하게 따라 해보시면 어떨까 싶습니다. 또 공동공부에 참여하시면 학습량의 체크 할 수 있고 혼자서 공부하는 고립감을 완화시킬 수 있습니다. 공동공부 도움말로 바로가기

 

수업의 한계

본 수업은 자바의 권위자가 만든 내용이 아닙니다. 물론 권위자들의 자료를 참고 했고, 또 완숙한 자바 엔지니어들의 도움과 감수를 거쳤습니다만, 정작 이 수업을 만든 저자는 자바 초보자 입니다. 다만, 같은 초보자 입장에서 처음 시작하시는 분들이 어려움을 느낄 수 있는 부분들을 쉽고 자세하게 설명해드리기 위해서 노력했습니다. 특히 풍부한 예제를 전달해드리기 어려운 점에 착안해서 차라리 예제가 주는 부담감을 경감시켜서 본 수업을 최대한 빨리 완주하실 수 있도록 하는 것에 주안점을 두었습니다.

 

위키북스에서 이 수업의 내용을 편집해서 책으로 출간을 했습니다. 이 책의 인세는 전액 비영리 단체인 opentutorials의 후원금으로 사용됩니다. 

http://book.naver.com/bookdb/book_detail.nhn?bid=11343677

댓글

댓글 본문
작성자
비밀번호
  1. 아즈앙
    8/20 시작
  2. 로타
    ㅎㅎ 8/9~
  3. 문도
    8/1 시작
  4. 시리시안
    8/1 시작!
  5. 8/1 Start !
  6. Flysky
    7/17일 시작!
  7. 임경호
    7/14 t시작
  8. 작심삼백일
    7/6 시작!
  9. 올때메로나
    오늘부터 가즈아
  10. 리니셜
    리플렉션 API도 한번 자세하게 다뤄 주시면 안되나요? ㅠㅠ ㅎㅎ
  11. 아마도 관계가 없을 겁니다.
    자바스크립트는 자바의 인기를 덕 보고자
    이름에 자바를 넣은 것이라고 알고 있습니다.

    물론 저도 가르치는 입장이 아닌 배우는 입장이라
    틀릴 수도 있습니다. ㅎㅎ
    대화보기
    • 입문자
      안녕하세요! 한 가지 문의 드립니다.
      이 강의와 webn카테고리의 web2의 javascript강의와는 어떤 관계이죠~?
      웹프로그래밍 처음 공부하려는 입문자입니다!

      감사합니다.
    • 임경민
      2018년 06월 13일 시작
    • 김형동
      5월 30일 시작
    • 나리나리비나리
      18.05.28 공부 시작합니다
    • 양예원
      5월 26일 시작
    • Jung Doo Sung
      5월16일 시작합니다!! 화이팅
    • 예진
      2018년 5월 8일 시작합니다.
    • 김현태
      시작합니다!
    • 뚜껑별꽃
      오늘부터 시작합니다 !!
    • 열정하나
      18년 4월 18일 달린다.
    • 나의 다짐
      18년 4월 9일 첫 수업인데 매일 꾸준히 들을 수 있도록 노력하겠습니다.
    • 나의아저씨
      오늘부터 1일차 열심히 하겟습니다ㅎ
    • 정승호
      저도 잘몰라요..그래서 댓글로 여쭤본거에요 ㅋㅋ
      제생각엔 완벽하게는 숙지하는 것은 아니더라도 webn수업 전체적으로 다 보고 숲은 보고 들어가는게 좋을 것 같네요. 본문에는 그냥 시작해도 되기는 하지만 그렇게 하길 추천해드린다는 것 같네요.(아물론 저는 생초보라 webn 다 보고 들어가려고요.)
      대화보기
      • 박재욱
        WEBN전부다요?아니면 WEB1만요?
        대화보기
        • 정승호
          ' 생활코딩의 웹서비스 만들기 수업'이 '웹어플리캐이션만들기수업'으로 대체되었고 이 수업은 다시 'webn'으로 대체되었으니 webn수업 다듣고 이수업 들으면 될까요?
        • egoing
          안녕하세요. 장지연님. 생활코딩 운영자입니다. 이곳은 다양한 연령과 성별의 사람들이 참여하고 있는 곳이랍니다. 표현에 대한 주의를 진심으로 부탁 드립니다.
          대화보기
          • 오컴
            입문
          • 양진호
            입문!
          • 문규
            오늘부터 시작합니다!
          • 오빠거긴안됫
            아 바로 이거야~
          • 슬이
            가즈아
          • 히윽
            오늘부터 1일
          • 동재
            혹시 javadoc에 관한 내용은 다루나요?
          • 김도엽
            오늘 부터 시작합니다! 감사합니다
          • 가르강
            좋은 강의 감사드립니다
          • 아자아자
            저도 오늘부터 시작해봅니다! 새학기가 오기 전에 한 번씩 다 들어봐야겠어요.
          • 심심타파
            오늘부터 입문합니다. 새로운 시작!
          • 가즈아
            시작해봅니다.
          • 레이웰라
            쉽고 간결하고 명쾌하게 수업 잘 받았습니다.
            그런데 질문이 한가지 있습니다.
            로또번호 생성 프로그램인데요
            1. 생성시킬 개수를 입력받아서
            2. 그중 중복된 개수를 출력해 보고 싶습니다.
            예를들어 200만개를 생성한 후에 30개 이하의
            중복된 번호들을 출력해 보고자 하는데
            생성까지는 하겠는데 2번을 어떻게 구현해야 할지 난감합니다.

            package Lotto;
            import java.util.ArrayList;
            import java.util.Arrays;
            import java.util.Collections;
            import java.util.Scanner;
            import java.util.List;

            public class Lotto {

            public static void main(String[] args) {

            Lotto lotto = new Lotto();
            Scanner sc = new Scanner(System.in);

            System.out.println("몇개의 로또를 생성 할까요?");
            int gameCnt = sc.nextInt();

            for (int i = 1; i <= gameCnt; i++) {
            System.out.println(i + "번째 로또번호: " + lotto.lottoNumbers());
            }


            }

            String lottoNumbers() {

            List<Integer> lottoNum = new ArrayList<Integer>();

            for (int i = 1; i <=45; i++) {

            lottoNum.add(i);
            }

            Collections.shuffle(lottoNum);

            int[] lottoNums = new int[6];
            for (int i = 0; i < 6; i++) {
            lottoNums[i] = lottoNum.get(i);
            }

            Arrays.sort(lottoNums);

            return Arrays.toString(lottoNums);
            }
            }
          • 가즈아
            대학 1학년 마치고 휴학~상근 테크로 복학전 까지 자바 코스 꼭 다 돌아보도록 하겠습니다!
          • かねこ
            プログラミング学習!!!
          • 반자동
            앱 프로그래밍을 위해 JAVA 배우기 시작 ^^ 180103
          • 조재훈
            0101
          • 나야나
            자바 오늘부터 입문합니다.!^^ 감사합니다.~
          • kuroJay
            시작합니다. 정말 좋은강의 너무 감사드립니다.
          • Spring
            혹시 Spring계획은 없으신가요?ㅜㅜㅜㅜㅜㅜㅜㅜ
          • 꿀꿀
            스윙프로그래밍 강의는 없나요? ㅜㅜ
          • 자바꿈나무
            감사합니다 오프라인 수업을 듣는데 이해를 돕기위해 같이 보려고 합니다 . 도움이 많이될것같습니다
          • 흑두루미
            훌륭하십니다.
          graphittie 자세히 보기