370 likes | 639 Views
프로그래밍 기 초. 강원대학교 컴퓨터학부 2014 년 여름 담당교수 정충교. 강의 구조. 1 학기 – 프로그래밍 기초 2 학기 – 자바 프로그래밍. 교수. http://dmrl.kangwon.ac.kr 담당 교수 정충교 ckjeong@kangwon.ac.kr 연구실 101 동 503 호. 교재. 주교재 자바프로그래밍 기초부터 하나씩 Ralph Bravaco 등 지음 , 김응성 등 번역 도서출판 ITC, 2010 년 보조교재 Big Java, 제 2 판
E N D
프로그래밍 기초 강원대학교 컴퓨터학부 2014년 여름 담당교수 정충교 강원대학교
강의 구조 • 1학기 – 프로그래밍 기초 • 2학기 – 자바 프로그래밍 강원대학교
교수 • http://dmrl.kangwon.ac.kr • 담당 교수 • 정충교 • ckjeong@kangwon.ac.kr • 연구실 101동 503호 강원대학교
교재 • 주교재 • 자바프로그래밍 기초부터 하나씩 • Ralph Bravaco등 지음, 김응성 등 번역 • 도서출판 ITC, 2010년 • 보조교재 • Big Java, 제 2판 • Cay Horstmann저, 오세만 등 공역 • 생능출판사(번역서) • 아래 강좌 공통 교재 • 1학기 – 프로그래밍 기초 • 2학기 – 자바 프로그래밍 강원대학교
평가 • 중간: 25%, 기말: 35%, 쪽지시험과 과제: 30%, 출석: 10% • 절대평가를 실시함 (학교의 성적 부여 정책에 맞춰 점수 보정 가능) • 1/3 이상 결석하는 경우 F 강원대학교
평가 90-100 A+ 83-90 A0 75-83 B+ 67-75 B0 60-67 C+ 55-60 C0 50-55 D+ 40-50 D0 강원대학교
강의 목표 • 문제에 대한 논리적 해법을 구상하고 프로그램으로 구현하는 능력을 갖춘다. • 다양한 분야의 사례를 문제로 다룸으로써 컴퓨터 소프트웨어의 유용성을 이해하게 된다. • 복잡한 문제를 분석하여 작은 요소로 분해하고 각 요소를 추상화하는 능력을 기른다. • 프로그램의 기능, 입력, 전제조건, 출력을 단순하고 명확하게 설명하는 능력을 기른다. • 컴퓨터가 데이터를 표현하고 저장하는 방법을 이해한다. • 프로그램 개발에 필요한 기초적인 컴퓨터 명령어와 통합개발환경의 기초적 사용법을 알게 된다. • 데이터를 조작하는 각종 연산을 사용할 수 있게 된다. • 프로그램을 흐름을 제어하는 여러 가지 제어 문장을 사용할 수 있게 된다. • 배열을 이용하여 많은 데이터를 하나의 이름으로 조작하는 방법을 알게 된다. • 주어진 문제를 메소드로 작성할 수 있게 된다. • 메소드의 사용법(api)이 제공되면 프로그램 작성에 이 메소드를활용할 수 있게 된다. 강원대학교
자바 소개 강원대학교
프로그램 Sum=0 N=0 while (N<=50) N=N+1 Sum=Sum+N Print Sum 강원대학교
프로그램 컴파일 강원대학교
자바 프로그램 컴파일러 개발환경 바이트 코드 JVM 실행환경 JVM JVM 핸드폰 Macintosh 컴퓨터 Windows PC JVM: Java Virtual Machine, 자바가상기계 강원대학교
자바언어의 특징 • 인터프리터(Interpreter)에 의해 실행 • 자바 소스코드는 컴파일을 통해 바이트 코드로 번역됨 • 바이트 코드를 실행시키면 바이트 코드 해석기(interpreter)에 의해 기계어 코드가 만들어지면서 이 기계어 코드가 실행됨 Java program 인터프리터 컴파일 실행 컴파일러 기계어코드 컴퓨터하드웨어 바이트코드 강원대학교
C 언어의 경우: 소스코드가 기계어로 바로 번역됨 • 프로그램을 실행할 컴퓨터(target machine)에 따라 컴파일러가 달라지고 다른 기계어코드가 생성됨 C program 컴파일 컴파일러 컴퓨터하드웨어 실행 기계어코드 강원대학교
자바언어의 특징 • 구조중립적(architecture neutral)이고 이식성(portable)이 높음 • 바이트코드 인터프리터를 중심으로 몇가지 부가기능을 갖춘 소프트웨어를 자바가상기계(JVM)라고 부름 • 자바프래그램은 한번 작성/컴파일되면JVM이 설치된 모든 종류의 컴퓨터에서 실행 가능 강원대학교
프로그램을 실행할 컴퓨터 기종과 무관한 바이트코드가 생성됨 클라이언트(JVM) 서버 해 석 기 실행결과 컴 파 일 러 바이트 코드 *.class 소스코드 *.java 인터넷 윈도PC 해 석 기 실행결과 자바 바이트코드는 자바 가상기계가 설치된 어떤 컴퓨터에서도 실행 가능하며 네트워크를 통해 쉽게 배포할 수 있다. 핸드폰 interpreter 강원대학교
자바 플랫폼 (Platform) • 플랫폼 : 하드웨어와 소프트웨어 환경 • 기존의 컴퓨터에 자바 플랫폼을 구축하기 위해서는 자바 소프트웨어(JRE)를 설치함 (JRE: Java Runtime Environment) 자바 프로그램 자바 API 자바 플랫폼 자바 가상 기계 (JVM) 하드웨어 플랫폼 강원대학교
JDK (개발도구 + JRE) JDK: Java Development Kit JRE: Java Runtime Environment 강원대학교
자바 플랫폼 (Platform) • 자바 API (Application Programming Interface) • Java 플랫폼에서 제공되는 라이브러리와 그 사용법 • 자바 개발자는 자바 API에 미리 정의된 라이브러리를 이용하여 편리하게 자바 프로그램을 작성할 수 있음 • 라이브러리: 미리 작성해 놓은 프로그램들 (빈번하게 사용되는 기능들을 구현) 강원대학교
프로그램 작성, 컴파일, 실행 과정 • 임의의 텍스트 편집기로 프로그램을작성하여 파일로 저장 강원대학교
프로그램 예 1 – Hello.java Hello라는 이름의 클래스를 중괄호{}안의 내용과 같은 것으로 정의함 public class Hello { public static void main (String[] args) { System.out.print(“Hello!”); } } • 이 프로그램을 Hello.java 파일에 저장 (파일 이름이 대소문자까지 맞춰 정확해야 함) 강원대학교
프로그램 파일 • 파일 하나에는 하나의 public 클래스가 정의됨 • public 클래스 이름을 파일 이름과 같게 함 • (Hello 라는 클래스를 정의한 파일의 이름은 Hello.java) 대문자 소문자 구분! 강원대학교
프로그램 작성, 컴파일, 실행 과정 • 소스코드를 컴파일하여 바이트코드를 만듦 • javac Hello.java ( 파일 이름) Hello.class 파일이 생성됨 컴파일 할 때는 파일의 첨자(.java)를 반드시 붙여줌 Hello.class 파일 내에 바이트코드가 들어 있음 • 바이트 코드를 실행시킴 • java Hello ( 클래스 이름) • 실행시킬 때는 파일의 첨자를 붙이지 않고 클래스 이름만 지정해 줌 강원대학교
자바 개발 환경 • J2SE 자바 표준 개발 환경에 포함되어 있는도구 • 자바 번역기 : javac • 자바 해석기 : java • 자바 디버거 : jdb • 자바 문서 생성기 : javadoc • 자바 압축 도구 : jar • JDK는 GUI(Graphical User Interface) 형태의 개발환경을 제공하지 않음 강원대학교
(IDE: Integrated Development Environment, 통합개발환경) 강원대학교
자바 통합개발환경 예 • Eclipse (http://www.eclipse.org) • NetBeans (http://www.netbeans.org/) • Java Studio Creator (http://developers.sun.com/prodtech/javatools/jscreator) • JBuilder (http://www.borland.com/jbuilder) • Viaual Cafe (http://www.visualcafe.com) • Visual Age for Java (http://www.ibm.com/java) 강원대학교
Application을 실행시키면 • main 메소드가 실행됨 main 메소드 (method) • public static void main (String[] args) • { • // 문장들 • } 강원대학교
간단한 문법 요약 • 모든 문장은 세미콜론으로 끝남 x = x + 1; • 공백 문자가 많이 삽입되어도 문제 없음 x = 3; • 한 문장을 여러줄에 걸쳐 적어도 문제 없음 x = 3; • 대문자 소문자 구분 NotSame≠ notsame 강원대학교
간단한 문법 요약 • 한 줄짜리 주석은 두 개의 슬래시로 시작 // 주석입니다. • 여러 줄 주석 /* 주석 입니다. */ 강원대학교
print과 println System.out.println(“Kangwon”); System.out.print(“kangwon”); System.out.print(“kangwon\n”); • println은 주어진 문자열을 출력한 다음 줄바꿈 (문자열 출력 후 ‘\n’을 추가로 출력) • print는 주어진 문자열만 출력 강원대학교
Errors • Syntax errors • Detected by the compiler • Logic errors • Detected (hopefully) through testing System.ouch.print(". . .");System.out.print("Hello); System.out.print("Hell"); 강원대학교
The Compilation Process 강원대학교
교재 1장 단답형 문제 (15쪽) • 2번, 3번, 5번, 6번, 11번 강원대학교