수업내용/Java

[2022.09.01.목] 오티

주니어주니 2022. 9. 1. 11:31

복습방법

1. 개인공간에 기록하기

2. 한줄 한줄마다 주석을 달아서 무슨 코드인지 설명 적어보기 (ex. //클래스를 생성한다 등)

 

수업내용

자바 응용 프로그램

java- 기본문법, 객체지향(클래스, 객체, 상속, 추상화, 인터페이스, 다형성),

           java의 API, 콜렉션(자료구조), I/O, network

database- 오라클, SQL

 

java와 database연동

 

자바 웹 프로그램 

웹 기본- HTML, CSS, javascript

자바 웹- Servlet, JSP, Model1/Mode2방식의 웹 어플리케이션 개발 

 

스프링

스프링 프레임워크, 스프링MVC, 스프링부트

 

마이크로서비스

스프링 부트와 스프링 클라우드를 이용한 마이크로 서비스 개발

 

데브옵스

도커, 쿠버네티스, AWS 마이크로 서비스 배포

 

linux- 기본 명령어

 


 

프로그래밍 언어

java            - 업무용 프로그램, 웹 애플리케이션의 제작

c, c++         - 기계, 장치의 제어 및 인터페이스

python      - 데이터분석, 머신러닝

javascript - 사용자와 상호작용 (웹 브라우저 내)

sql               - 데이터베이스 액세스 

 

프로그램

작업지시서 - 구체적, 작업순서에 맞게 기술

* 해당 업무에 대한 정확한 분석이 선행되어야 한다. -> 은행이면 은행, 공공기관이면 공공기관 등 일관성 있는 프로젝트를 해야 좋음.

 

 프레임워크와 라이브러리

프레임워크 - 비계, 뼈대, 틀, 개발 플랫폼

라이브러리 - 툴박스(도구모음)

 

 


 

자바 개발환경 구축

자바개발도구 - JDK: 자바개발도구, JRE: 자바실행환경

통합개발툴 - Eclipse, intelliJ, visual studio code

 

Java

oak프로그래밍 언어가 자바의 기원이다. (전자기기에서 실행되는 프로그램을 개발할 때 사용되는 프로그래밍 언어)

썬 마이크로시스템에서 1995년에 발표한 프로그래밍 언어 (제임스 고슬링)

현재는 Oracle의 소유

 

특징

* 크로스 플랫폼을 지원한다.

   - 자바가상머신이 설치되어 있기만 하면 운영체제나 하드웨어 플랫폼에 상관없이 자바 응용프로그램을 실행할 수 있다.

 

* 객체지향 프로그래밍 언어이다.

   - 레고블록처럼 각각의 블록에 고유한 기능을 구현하고, 그 블록들을 조립해서 완성된 프로그램을 개발하는 방식

   - 블록 하나하나가 객체에 해당하며, 그 블록은 설계도를 이용해서 만들어진다.

   - 하나의 설계도로 같은 블록을 여러 개 만들어낼 수 있다. 

   - 기존 블록보다 더 좋은 블록이 개발되면 언제든지 새로운 블록으로 교체가 가능하다.

   - 재사용성, 확장성이 매우 뛰어나다.

    ( 각 객체 = 블록,  클래스= 설계도 ) 

 

* 플랫폼 독립적인 언어이다.

   - 시스템의 소프트웨어, 하드웨어 사양에 상관없이 자료형의 크기가 고정적 ( c언어는 크기가 막 변함 ) 

 

* 자바가상머신이 메모리관리작업을 자동으로 수행한다. 

   - 개발자가 메모리 관리 기능을 신경쓸 필요없이 업무로직의 구현에만 집중할 수 있다. 

 

* 멀티 스레드를 지원한다. (동시작업)

 

* 함수형 프로그래밍을 지원한다. 

 

 

 


 

자바

 

소스코드 작성 (.java = 확장자, 이때는 확장자가 여러 가지 가능)

App.java

Sample.java

 

소스파일을 실행파일로 변환 - 자바개발도구에서 제공 (C:\Program Files\Java\jdk-18.0\bin)에서 제공

(확장자는 무조건 class)  

App.class

Sample.class

 

App.java 소스파일로 App.class 실행파일 생성하기

javac.exe App.java -----> App.class

 

javac.exe 소스파일명 ---> 실행파일 생성

javac.exe : 컴파일러 프로그램

*컴파일: 소스파일을 실행파일로 변환하는 작업

 

실행파일을 실행

java.exe 실행파일명

*.class 확장자는 생략 (실행파일은 무조건 .calss니까)

 

App.class 실행파일 실행하기

java.exe App

*자바 가상머신이 실행되고, 자바 가상머신은 App.class 파일을 읽어서 실행한다. 

 

프로그램이 실행됨

 

 

소스파일: 개발자용(사람) 작업지시서 , 텍스트파일

실행파일: 자바가상머신용 작업지시서, 바이트코드파일

                   *바이트코드: 자바가상머신이 이해할 수 있는 코드

                   *컴파일러: 소스코드를 바이트코드로 변환

 

 

소스파일                        컴파일                                         실행파일                         실행

Sample.java   ------> javac Sample.java  -------> Sample.class -------> java Sample

                                                                                                                                  1. 자바가상머신이 실행된다.

                                                                                                                                  2. 자바가상머신이 Sample.class파일을 메모리로 로딩한다.

                                                                                                                                  3. Sample.class의 메인메소드 내의 수행문을 실행시킨다. 

 


 

*자바, 이클립스 설치 후이클립스 encoding (UTF-8로 설정)

 

 

*src -소스파일 저장 , bin -실행파일 저장

 

 

* 자바의 예약어 (보라색 글씨)-자바에서 특별한 목적으로 사용되도록 이미 예약된 단어-예약어는 정해진 위치에 정해진 목적으로만 사용한다.

*대표적인 예약어: public, class, package, void, if, while, int, long, double, char, for, break, continue, throws 등등

 

 

*이클립스에서 만든 자바 소스파일을 저장하면 -> 컴파일 -> 클래스파일로 바뀜

 

 

* 단축키

main + ctrl+space = public static void main(String[] args) { } 

 

 

*리터럴(Literal) : 소스코드에 고정된 값

정수          10                     10_000_000

실수          3.14                   0.13                  .13

문자          'A'                      '가'

문자열     "안녕하세요"      "서울특별시 종로구 봉익동" 

 

 

package day1;

// 클래스명이 Hello인 설계도를 정의
// public : 공개된 설계도임을 나타냄 (예약어)
// class : 설계도를 정의할 때 사용됨 (예약어)
// Hello : 설계도의 이름을 나타냄 (식별자)
public class Hello {
	
	// 메소드명이 main인 메소드를 정의
	// public : 공개된 메소드임을 나타냄 (예약어)
	// static : 정적 메소드임을 나타냄 (예약어)
	// void : 반환값이 없는 메소드임을 나타냄 (예약어)
	// main : 메소드의 이름을 나타냄 (식별자)
	// String agrs[] : 매개타입과 매개변수명
	public static void main(String[] args)  {
		// 수행문
		// System.out : 시스템의 표준출력장치 - 모니터(혹은 콘솔화면)
		// System.in : 시스템의 표준입력장치 - 키보드 
		// println() : 내용을 출력한다. 
		// "Hello, java!" 문자열을 시스템의 표준 출력장치에 출력해라. 
		System.out.println("Hello, java!");
	}

}

// 예약어 : 사용위치와 사용목적이 이미 결정된 키워드, 식별자로 사용할 수 없다.
// 		  public class static {}  // 오류
// 식별자 : 다른 것(클래스, 메소드)과 구분되는 이름
//        개발자가 임의로 정하는 것

 

 

 

이응수 

eungsulee@hanmail.net

'수업내용 > Java' 카테고리의 다른 글

[2022.09.08.목] 배열  (0) 2022.09.08
[2022.09.07.수] switch문, 반복문  (0) 2022.09.07
[2022.09.06.화] 제어문과 반복문 (if문, for문)  (0) 2022.09.06
[2022.09.05.월] 연산자  (0) 2022.09.05
[2022.09.02. 금] 변수  (0) 2022.09.02