320 likes | 519 Views
프로그래밍 기초. 2014 년 1 학기 강원대학교 컴퓨터학부 담당교수 : 정충교. 제 1 주 소개. 프로그램. Sum=0 N=0 while (N<=50) N=N+1 Sum= Sum+N Print Sum. 프로그램 컴파일. 자바 프로그램. 컴파일러. 개발환경. 바이트 코드. JVM. 실행환경. JVM. JVM. 핸드폰 Macintosh 컴퓨터 Windows PC.
E N D
프로그래밍 기초 2014년 1학기 강원대학교 컴퓨터학부 담당교수: 정충교 강원대학교
제 1주소개 강원대학교
프로그램 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번 강원대학교
숙제 • 실습과제 읽어오기 1절, 3절 내일까지 • 교재 읽어오기 28쪽 – 40쪽 중간 다음 주 수업시간까지 강원대학교