본문 바로가기

프로그래밍 언어/Java

Week 1) Java Programming Lab: Course Introduction

Lecture1.pdf
3.19MB

1. Course Overview 

더보기
  • textbook : Java How to Program 
  • grading policy: 출석 40 + 기말 30 + 팀프로젝트 20 
  • course plan 
  • prequisite : C++, 하나 이상의 프로그래밍 언어 스킬 

2. Introduction to Java

  • 전 세계적으로 아주 유명하고 많이 사용되는 프로그래밍 언어 
  • high-level 언어 

Java Applications

  • ex) console, GUI, applet, servlet, JSP, enterprise java beans, etc, ...
  • user의 input과 상호작용하는 웹 어플리케이션 
  • 안드로이드 
  • 엔터프라이즈 어플리케이션 ex) 은행 어플리케이션 (분산 시스템 소프트웨어) 
  • 임베디드 시스템 

Origins of the Java

  • Sun Microsystem team led by James Gosling (1991) 
  • 시스템 마다 서로 다른 프로그래밍 언어를 사용해서 겪은 어려움을 해결하기 위해 등장 
  • 서로 다른 기업의 제품을 가져올 때 동일한 언어로 컴파일하기 위함 
  • 처음 이름 : Oak -> 이미 있는 이름이었기 때문에 Java로 변경 
  • Java = 커피를 생산하는 인도네시아의 섬 
  • Sun microsystem에서 인터넷에서 Java 소프트웨어를 사용할 수 있게 하기 위해 웹 브라우저에 자바가 실행될 수 있게 함 Java - Internet => 인기 급상승!!

Java Features

  • Simple
    • 포인터가 없음
    • 자동 garbage collection
    • 다중 상속을 지원하지 않음 (one parent class - one child class) 
    • 다양한 클래스 라이브러리가 존재 -> 재사용성이 높음 
  • Object oriented 객체 지향
    • 클래스의 모든 코드들은 캡슐화됨
    • 모든 함수들은 클래스와 연관됨
    • 대부분의 데이터 타입들은 객체

Java Execution : Life Cycle

  • java source -> byte code -> machine code
  • java 코드 작성
  • 코드를 컴파일 to 바이트 코드 (확장자: .class) 
  • 자바 소프트웨어를 어떤 운영체제에서도 실행 가능

  • byte code (.class) : 어셈블리 코드랑 비슷하지만 하드웨어 independent
    • 자바 컴파일러에 의해 생성 (java code -> byte code) 
    • JVM에서 다양한 종류의 기계어로 translate
    • java interpreter에 의해 실행됨
    • programmer는 읽을 수 없음 
    • 단점: 컴파일러와 인터프리터가 둘다 필요해서 조금 느리다
    • 장점: portability -> 어떤 컴퓨터에서도 실행될 수 있다. (가상머신에서 실해되기 떄문) 

4. Object-Oriented Programming OOP

  • 자바 = 객제지향 프로그래밍 언어

Object 객체 

  • data + methods
  • 특정 기능을 한다. 
  • 객체들을 조합해서 소프트웨어를 만들어 낸다. 

OOP의 장점

  • 소프트웨어 설계가 쉽다. 
  • 코드 재사용성이 높아진다. 
  • 디버깅이 쉽다. 

OOP의 디자인 원칙 

  • encapsultaion 
  • polymorphism
  • inheritance

Java Simple Program 

public class program 1
{
	public static void main(String[] arg)
      {
          System.out.println("Hello World");
      }
}
  • 클래스 밖에서 함수를 작성하거나 사용할 수 없다. 
  • 모든 함수는 클래스에 속해야 한다. 

5. Programming Environment 

1. JDK 설치

www.oracle.com/kr/java/technologies/javase/javase-jdk8-downloads.html

오라클 로그인해야 설치할 수 있는데 도대체 오라클은 왜! 항상! 로그인이 안되는 걸까 

 


2. eclipse 설치 

 

Eclipse downloads - Select a mirror | The Eclipse Foundation

The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 375 open source projects, including runtimes, tools and frameworks.

www.eclipse.org

developer 버전 다운로드 

 

3. create new project 

  • file -> New -> Java project
  • write project name & JRE (use and execution JRE over JavaSE-1.8) 
  • src : java 소스 코드가 저장되는 디렉토리 

4. create Java file

  • src -> 우클릭 -> new -> class -> write name and main function option 선택 
  • file name = class name 
  • main function 포함 

5. printing output 

  • System.out.print()
  • System.out.println() : + (concatanate 함께  쓸때 ) 
  • System.out.printf() : format 프린트 할 때 ex) %d ... 
  • System.out.format()

6. get the input 

import java.util.Scanner;

Scanner input = new Scanner ( System. in );
int i = input.nextInt();
// read one int value fron the keyboard -> save in in i 
String str = input.nextLine();

7. running App

 

  • class 파일 명 우클릭 -> Run as -> Java application 
  • or / Run -> Run 

References

  • 성균관대학교 소프트웨어학과 2021-1 <자바 프로그래밍 실습>  타메르 교수님 
  • 2021.02.23