## 자바 프로그래밍 입문! "프로그래밍 경험이 없는 비전공자입니다.." “책은 몇 번 읽었는데.. 막상 코딩을 하려면 뭐 부터 해야할지 모르겠어요..” “객체지향 프로그래밍이라는게 잘 이해가 안됩니다..” “에러 찾다가 시간 다가네요..” 생각보다 만만치 않은 프로그래밍 입문! 어떻게 준비하고 계신가요? 책은 두껍고, 내용은 어렵고, 온라인 강의만으로는 해소되지 않는 갈증들! 하나씩 체계적으로 학습해보세요! ## 체계적 학습법? #### 1. 로드맵 그리기 - 수많은 개념을 하나로 꿰어어야 합니다. - 단순하고 직관적인 이미지로 자바 프로그래밍을 정복하세요. ![클라우드스터딩-자바-스터디-과외-로드맵](https://i.imgur.com/XVzASgn.png) #### 2. 코드의 이미지화 - 프로그래밍 코드를 머릿속 이미지로 그려야합니다. - 이미지 학습법을 통한 완벽한 개념정리! ![클라우드스터딩-자바-스터디-과외-코드-이미지-학습](https://i.imgur.com/YxL3Gla.png) #### 3. 컴퓨터적 사고법 - 영어 단어 많이 안다고 영작문이 되나요? - 프로그래밍도 마찬가지입니다. 따라치기는 이제 그만. - 실습 문제 풀이를 통한, 컴퓨터적 사고법을 익혀봅시다. <div class="embed-responsive embed-responsive-16by9"> <iframe src="https://www.youtube.com/embed/nARtGOHdIXs" frameborder="0" allowfullscreen></iframe> </div> #### 4. 온라인 피드백 - 에러찾기! 프로그래밍 학습의 가장 큰 적입니다. - 온라인 질의 응답을 통해, 프로그래밍의 장벽을 허물어 드립니다! ![클라우드스터딩-자바-스터디-과외-온라인-피드백-질문-답변](https://i.imgur.com/D7hTXLr.png) ## 목표 - 자바 프로그래밍 학점 A+ 받기! - 국비지원 교육 완벽 적응! - 코딩 삽질 시간 단축! ## 커리큘럼 #### [자바 BASIC](https://cloudstudying.kr/courses/10) + 1회: 자바 시작하기 + 2회: 메소드와 조건문 + 3회: 반복문과 배열 #### [자바 OOP](https://cloudstudying.kr/courses/61) + 4회: 클래스와 객체 + 5회: 자바 API + 6회: 상속과 인터페이스 ## 수업 방식 1. 리뷰 2. 개념 학습 3. 실습 진행 4. 요약 5. 과제 ## 시간 및 장소 + 시간 협의 + 스터디룸 또는 카페(비용 개별 부담) ## 비용 총 18시간 수업 기준(매 수업 3시간 x 6회) + 1인 수업: 50만원 + 2인 수업: 45만원 + 3인 수업: 40만원 + 4인 이상: 35만원 ## 준비물 - 노트북 - 필기 도구 ## 연락처 - 카톡: chaesam - 메일: sehongpark@cloudstudying.kr
# 자바 시작하기 주어진 질문에 답하며 학습 내용을 복습해보자. ## 자바 프로그래밍 ![클라우드스터딩-자바-프로그래밍](https://i.imgur.com/U87qngm.png) 1. 프로그래밍이란 무엇인지 설명하시오. 2. 프로그래밍에서 자바의 역할은 무엇인가? 3. 다음 코드 주석의, 질문에 답하시오. ``` /* 해당 클래스의 이름은? */ public class Hello { /* main() 메소드의 역할? */ public static void main(String[] args) { /* println() 메소드는 무엇? */ System.out.println("hello world!"); } } ``` ## 자바의 특징 ![클라우드스터딩-자바의-특징-장점](https://i.imgur.com/nyzFpNf.png) 1. 자바의 프로그래밍 언어적 특징은? 2. 객체 지향 언어(OOP)를 간단히 설명한다면? 3. 해당 코드의 실행 흐름을 분석하시오. ``` public class Lab02Review { public static void main(String[] args) { // 변수 생성 String name = "홍팍"; int age = 35; double weight = 72.4; boolean isMale = true; // 결과 출력 System.out.println("이름: " + name); System.out.println("나이: " + age + "세"); System.out.println("몸무게: " + weight + "kg"); System.out.println("남성인가요? " + isMale); } } ``` ## 변수와 타입, 그리고 연산자 ![클라우드스터딩-자바-타입-변수-연산자](https://i.imgur.com/IejhfCF.png) 1. 아래 코드에서 변수, 타입, 연산자를 찾으시오. ``` int age = 34; ``` 2. 변수, 타입, 연산자란 무엇인가? 3. 해당 코드의 결과는? ``` int result = 3 + 8 * (3 - 1); ``` 4. 아래 코드의 수행 과정을 설명하시오. ``` System.out.println("123" + 3.14"); ```
# 메소드와 조건문 주어진 질문에 답하며, 학습 내용을 복습해봅시다. ## 타입과 형변환 ![클라우드스터딩-자바-타입과-형변환](https://i.imgur.com/U8O3Y9L.png) 1. 주어진 코드의 연산 과정을 설명하시오. ``` double a = 5.0 / 2.0; int b = 4 / 2; int c = 5 / 2; ``` 2. 타입 불일치란? 3. 주어진 코드의 정상 동작 여부를 조사 및 분석하시오. ``` public class Casting { public static void main(String[] args) { // 변수 생성 double tall = 176.4; double weight = 82.34; /* 1. 실수형 변수를 정수로 캐스팅하여 출력하시오. */ System.out.printf("신장: %dcm\n", tall); System.out.printf("체중: %dkg\n", weight); } } ``` 4. 타입 캐스팅이란? ## 메소드 ![클라우드스터딩-자바-메소드](https://i.imgur.com/Cmooiyi.png) 1. 메소드란 무엇이고, 그 특징을 설명하시오. 2. 메소드의 호출과 정의란? 3. 주어진 메소드를 분석하시오. ``` public static int square(int n) { int result; result = n * n; return result; } ``` 4. 해당 코드의 실행 흐름을 분석하시오. ``` public class Pork { public static void main(String[] args) { // 삼겹살 3인분 int n = 3; // 칼로리 계산 double kcal = calculate(n); // 결과 출력 System.out.printf("삼겹살 %d인분: %.2f kcal", n, kcal); } // 칼로리 계산 메소드 public static double calculate(int num) { double result = 0.0; // 반환 값을 위한 변수 int gram = num * 180; // 1인분 당, 180g result = gram * 5.179; // 1g 당, 5.179 칼로리 return result; } } ``` ## 조건문 ![클라우드스터딩-자바-조건문](https://i.imgur.com/cpoG4ar.png) 1. 조건문이란 무엇인지 설명하시오. 2. 주어진 코드의 결과를 예측하시오. ``` public class Scholarship { public static void main (String[] args) { // 메소드 호출 printTest("Park", 100, 92); // Park => 전액 장학금! printTest("Kim", 82, 96); printTest("Choi", 82, 88); } public static void printTest(String name, int math, int eng) { String result = "???"; // 전액 장학금 if (math >= 90 && eng >= 90) { // AND: 동시 만족 result = "전액 장학금!"; } else if (math >= 90 || eng >= 90) { // OR: 둘중 하나라도 만족? result = "반액 장학금!"; } else { result = "다음 기회에~"; } System.out.printf("%s => %s\n", name, result); } } ```