1일차 공부
1 교시 : 학원 오리엔테이션
2 교시 : 수업 개요
3~4 교시
프로그래밍을 하기 위한 준비
언어로 작성한 코드를 번역하기 위한 번역기 - Java는 JDK
코드 작성을 편리하게 해주고 번역과 실행까지 자동이로 수행해주는 IDE가 필요
- Eclipse : 무료, 공공기관과 대기업이 많이 사용
- Intelli J : 일반 Application 과 Android App 제작에 이용하는 것은 무료, Web Application 만드는 것은 유료
JAVA
SUN Micro System에서 1995년에 발표한 객체 지향 언어
등장배경 : 플랫폼 호환성 문제를 해결하기 위해 플랫폼 독립적 언어가 필요
이름의 유래 : 인도네시아 산 커피 원료 이름 "자바"에서 유래(잠들지 않는 인터넷이라는 의미)
특징 : 오픈소스 프로젝트가 많이 구현 - 뛰어난 Echo System
- 자바 개발에 편리한 ㅌㅌ라이브러리 Apache Common 프로젝트
- 자바 서버 프레임워크 플랫폼 - Springm Struts
- 검색엔진 - Lucene
- NoSQL - Cassandra
- 분산파일시스템 - Hadoop
JDK(Java Develper Kit) 자바
-Java API(Appication Programming interface) : 응용프로그램을 만들기 위한 클래스의 집합으로 Java 회사에서 제공 - API 대신에 SDK(Software Development Kit)라고도 함
-JVM(Java Virtual Machine) : 자바로 만들어진 로그램을 실행시키기 위한 가상의 프로그램(머신)
-자바 관련 명령어
JDK 먼저 설치 (자바 개발 도구) : oracle.com에서 다운로드 (작성, 실행)
다음에 Eclipse (IDK)설치 - 대신에 Intelli J 나 NetBeans 로 대체 가능
Eclipse를 설치할 때 주의 할점은 EE (Enterprise)버전을 설치해야만 웹 프로그래밍을 할 수 있다.
5 교시
워크스페이스 : 프로젝트들이 저장되는 디렉토리 => 실무에서는 하나의 프로젝트에 하나의 워크스페이스를 사용
프로젝트 : 하나의 Application(Program)
모듈(Module) : 실행되는 단위
일반 Java Application에서는 main 메소드를 갖는 class
class : 유사한 역할을 하는 코드의 모임
1) Eclipse에서 Project를 만들고 모듈을 만들어서 실행하기
Jaca Application을 생성
=> [File] - [New] - [Other] 에서 Java Project를 선택 : PC에서 수행이 가능한 프로그램 => Project 이름을 입력
실무에서는 회사도메인을 역순으로 쓰고 기술이름을 기재 com.samsung.first
Next
소스코드는 src에, 실행코드는 bin에 저장 (묵시적)
2) 실행가능한 모듈(클래스)을 추가
=> src 디렉을 선택하고 마우스 우클릭하고 [New] - [Class]를 선택
클래스 이름의 첫글자는 대문자
Class Name을 입력하고 하단에 main 메소드 체크
3) Code 작성 - main 메소드 안에 작성
System.out.println("Hello Java"); 맨앞은 대문자, 마무리는 ;
4) 코드 실행
Source Code 작성
-> Compile(코드가 문법에 맞게 작성되었는지 확인하고 컴퓨터가 이해할 수 있는 코드로 변경 - 에러가 나면 문법오류이므로 코드를 수정해야함)
-> Biuld (Conpile 된 파일들을 실행가능한 프로그램으로 생성 - 에러가 발생하면 구조를 고쳐야함.)
-> Run (실행 - 발생하는 오류는 예외이므로 예외처리를 하거나 어쩔 수 없는 경우이다)
=>Eclipse에서는 실행할 클래스를 선택하고 [Run] 또는 녹색 바탕에 삼각형 아이콘을 누르면 실행. 단축키는 ctrl + f11
6 교시
Eclipse 화면구성
=> perspective : 프로젝트 종류별로 자주 사용하는 뷰들을 모아둔 것
=> view : 작은 화면 하나
1) perspective 변경
[Window] - [Perspective] - [Open perspective] - [Other]
2) view 변경
[Window] - [Show View] 에서 선택
=> package explorer : 애플리케이션 구조
=> project explorer : 디렉토리 구조
=> console : CLI (Command Line Interface) (cmd로 실행하면 나오는 검은 환경) 환경에서의 결과를 보는 창
=> problems : 에러나 경고 내용을 모아서 보여주는 창
자바 파일의 기본 구조
1) package? : 자바 클래스들의 모임 - 용도별로 모아서 배포하기 쉽게 하기 위해서 생성, 일반적으로 배포하는 단위
=> 생략하거나 1번만 나와야 하고 맨 위에 나와야 한다.
2) import?
=> 생략하거나 여러번 나올 수 있다.
=> package 다음에 나와야 한다.
package가 없으면 가장 먼저 나와야한다.
=> import는 줄여쓰기를 하기 위해서 사용한다.
자바나 안드로이드 및 iOS에서는 클래스 이름을 만들 때 최소 3단 Naming을 권장한다.
gmail.ggangpae1.fitst.Main 이런식으로 클래스 이름을 만든다.
사용할 때마다 전체이름을 사용하는 것은 코드의 낭비
import gmail.ggangpae1.first.* 이 코드를 위에 적으면 다음부터는 Main이라고만 입력하면 된다.
3)class? {내용} : 필수, 클래스가 없는 파일은 존재할 수 없다.
=> 클래스를 만들고 내용을 작성
=> 여러 개 가능하지만 하나의 파일에 하나만 만드는 것을 권장
=> java는 소스 파일의 이름이 classname.java 이어야 한다. 그렇지 않으면 에러
4) class 안에 있는 public static void main(String[] args){내용}
=> 이 클래스가 실행이 가능한 클래스가 되도록 해주는 메소드
=> 이 구문이 있어야만 실행이 가능하다.
agrs는 이름을 변경해도 된다.
5) System.out.println("Hello Java");
=> System.out(표준 출력장치 - 모니터).println(내용을 console에 출력하고 줄바꿈)
코드 작성 시 유의 사항
1) 자바는 대소문자를 구분한다.
2) 한 번에 실행되는 문장의 끝은 ; (세미콜론)
3) 행의 들여쓰기나 줄바꿈은 아무런 의미가 없다.
; 이 나올때까지 하나의 문장으로 간주
4) 하나의 블럭을 {}로 만든다.
블럭은 하나로 해석해야하는 코드를의 모임.
제어문, 예외처리구문, 메소드, 클래스(인터페이스)가 블럭이다.
블럭 안에서 생성한 것은 블럭 안에서만 사용이 가능하다.
System.out.print, System.out.println
=> 콘솔에 출력하는 메소드
=> ()안에 출력할 내용을 작성해주면 된다.
1) 출력할 내용 작성
=> 문자열 메세지 출력 : "내용"
=> 여러 개의 메세지 출력 : "내용" + "내용"
=> "내용" 숫자를 출력하고자 하면 숫자를 입력 : 3
=> 데이터도 출력이 가능
print와 println의 차이
=> print는 모아서 한번에 출력하는 것
=> println은 각각 출력하고 줄바꿈을 한다.
7 교시
연습문제. 자신의 이름을 출력하는 프로그램을 만들고 실행
1) Java Project 생성
2) Project 내의 src 디렉토리에 main 메소드를 소유한 클래스를 생성
3) main(String[] args){} 안에 수행할 내용을 작성
4) 실행할 클래스를 선택하고 [Run] - [Run](Ctrl + F11)
Name
1) Keyword(예약어) : 프로그래밍 언어나 IDE에서 기능을 정한 단어
=> 예약어의 기능은 변경할 수 없다.
=> 이클립스 기본 설정에서는 보라색 비슷하게 보인다.
=> 문법을 공부하는 것은 이 예약어의 기능을 공부하는 것이다.
=> 대부분의 프로그래밍 언어가 비슷하게 가지고 있다.
2) Identifier(식별자) : 프로그래머가 다른 것과 구분하기 위해서 붙이는 이름
=> 예약어는 식별자로 사용할 수 없다.
=> 영문, 한글, 숫자, 특수문자(_$?)를 사용할 수 있다.
=> 첫글자로 숫자가 올 수 없다.
=> 중간에 공백을 포함할 수 없다.
=> 영문으로 시작하는것을 권장
=> 이름을 만들 때는 기능을 예측할 수 있도록 만드는 것을 권장, 한글자 변수는 비추천
=>Camel 표기법
변수나 메소드의 이름은 소문자로 시작
클래스나 인터페이스 enum의 이름은 대문자로 시작
상수(final)는 모두 대문자로 표기
2개 단어 이상으로 이름을 만들 때는 두번째 단어의 시작도 대문자로 만들기를 권장
데이터의 개수를 저장하는 변수를 생성한다면
- int count
count를 가져오는 메소드를 생성
- getCount
count에 데이터를 대입하는 메도드를 생성
- setCount
Comment(주석)
=> 컴파일러가 해석하지 않는 문장
=> 소스코드의 이해를 돕기 위해서 작성
1) 한줄 주석
//주석내용
2) 여러 줄 수석
/*
주석내용
*/
=> 주석은 습관이 중요하다.
다른 유저가 원하는 프로그램을 만들어 주었을 때 그 유저가 이해할 수 있도록 주석을 달아주면 유저가 소스코드를 수정할 수 있다.
8 교시
C언어 -> UNIX => Mac OS(iOS) -=> Windows
->LINUX => Android
자바로 코드를 만들면 VM(Virtual Machine)으로 보내고 운영체제를 돌린다.
내일은 데이터 타입을 배운다