시작하기 전
- 자바 웹개발자가 되기 위한 공부 로드맵
- [ ] Java
- [ ] DataBase (플랫폼 중 대표적인 Oracle)
- [ ] HTML&CSS
- [ ] JavaScript
- [ ] JQuery
- [ ] JDBC
- [ ] Servlet/JSP
- [ ] Ajax
- [ ] MyBatis
- [ ] Spring Framework
Part1. 프로그래밍 기초
1.1 프로그래밍이란?
- 인간이 컴퓨터에게 원하는 일을 시키고자 할 때 컴퓨터가 인식할 수 있는 명령어로 지시해야 한다.
- 컴퓨터는 0과 1만 알아들을 수 있기 때문에 일을 수행하기 위해 설계된 알고리즘을 프로그래밍 언어를 사용하여 프로그램으로 작성한다.
- 이 때 인간이 사용하는 언어를 컴퓨터의 언어로 번역해주기 위해 컴파일 작업이 필요하다.
1.2 프로그램 언어별 특성
- 고급 언어
- Java : 객체지향언어
- C : 절차지향언어
- 기계보다 인간이 알아듣기 쉬운 프로그래밍 언어로 C, Java, Python 등이 있다.
- 저급 언어
- 컴퓨터 내부에서 바로 처리 가능한 프로그래밍 언어로 일반적으로 기계어와 어셈블리어 언어가 있다.
1.3 Java 언어의 특징
- 이식성이 강하며 운영체제에 독립적이다.
- 다른 언어에 비해 사용하기 쉬운 언어이다.
- 메뉴와 메모리 관리 기능이 기능하다.
- 객체 지향 언어이기 때문에 코드 재사용이 편리하다.
- 능률적이고 명확한 코드를 작성하도록 한다.
- 컴퓨터에서 빌려서 사용하는 메모리를 자동으로 메모리 자동으로 관리해준다. (Garbage Collection)
- 네트워크와 분산환경을 지원한다.
- 멀티쓰레드를 지원한다.
- 쓰레드는 특정 기능을 수행 할 수 있는 하나의 단위이다.
- 멀티쓰레드는 여러 일을 병렬적으로 동시에 사용 가능하게 한다.
- 싱글쓰레드는 한번에 한가지 일만 수행할 수 있다.
1.4 JVM의 특징 - 이식성
- 이식성이 높다는 것은 다양한 플랫폼으로부터 독립적이라는 뜻이다.
- 한 운영체제를 기반으로 작성된 프로그램의 경우 다른 운영체제에서 실행이 안되는 경우가 있다.
- C언어 같은 경우는 컴파일시 이식성이 낮은 어셈블리어로 바뀌어 실행하기 때문에 실행하려는 운영체제마다 코드를 바꿔야하는 불편함이 있다.
- 자바는 컴파일시 JVM에 의해 자바 바이트 코드로 변환이 되기 때문에 자바 가상머신이 있는 어느 운영체제에서나 실행이 가능해 편리하다.
- JVM이란?
- 플랫폼에 독립적인 bytecode(class파일)을 해석하고, 실행하는 인터프리터 실행 환경은 PC 또는 Web Browser 설치된 플랫폼에 종속적
소스코드 → 컴파일러 → 바이트코드 → JVM(인터프리터) → 운영체제에서 실행
1.5 설치의 범위
사용자/개발자 입장에 따라 설치하는 범위가 달라진다.
- JVM(Java Virtual Mathine) : 자바 프로그램 등을 컴파일하여 만들어진 바이트코드를 실행해주는 가상 머신
- JRE(Java Runtime Environment) : JVM에 자바 라이브러리와 기타 파일들이 결합된 자바를 실행하기 위한 환경을 만들어주는 프로그램이다.
- JDK(Java Development Kit) : JRE에 컴파일러와 디버거 등 개발 도구를 포함하는 개발자를 위한 프로그램이다
- 패키지 에디션
- Java SE (Java Standard Edition) : 자바 언어 대부분의 패키지가 포함되어 있다.
- Java EE(Java Enterprise Edition) : 현업에서 사용되는 API들이 집약되어 있어 웹 프로그래밍에서 가장 많이 사용되는 Servlet, JSP를 비롯해 많은 기술이 포함되어 있다.
- Java ME(Java Micro Edition) : 모바일 기기(피쳐폰, PDA폰) 등 스마트폰 등장 전의 소규모 기기에 기능 제공
1.6 Java 프로그래밍 순서
Class 작성 순서
- 패키지(package) 선언
- 임포트(Import) 선언
- 클래스(class) 작성부
- 멤버변수
- 생성자 함수
- 멤버함수
-
-
- 키보드 입출력 테스트
- 자료형 변환
- 정수의 계산
-
1.7 Hello World 출력 코드
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!"); // Hello World!
System.out.println("dondon"); // dondon
System.out.println(11 * 2); // 22
// 주석
/*
* 별사이에 주석처리 돼서
* 아무런 영향 끼치지 않음
*/
}
}
1.8 메소드 호출 코드(Method Printer)
package helloworld;
public class A_MethodPrinter {
//여기의 class는 파일명의 .class와 다르다 .은 바이트코드를 말하고 여기서의 class는 파일단위를 말한다.
// {} 중괄호 블럭 또는 브레이스라고 부름
public void methodA() {
System.out.println("methodA() 호출됨...");
methodB();
methodC();
}
public void methodB() {
System.out.println("methodB() 호출됨...");
methodC();
}
public void methodC() {
System.out.println("methodC() 호출됨...");
}
// 아래 메인 메소드
// main 치고 컨트롤 스페이스 누르면 메인메소드 불러옴
// 프로그램을 start 시키는 스위치 역할을 하는 메소드
// 여러 메소드 중에서 메인메소드는 단 한개만 가질 수 있으며 작성 순서와 상관 없이 가장 먼저 동작하는 메소드이다.
public static void main(String[] args) { // 메소드 시작 블럭
// 자바에서는 클래스가 가진 메소드를 실행하려면 아래와 같이 한다.
// 클래스명 사용할이름 = new 클래스명();
A_MethodPrinter p = new A_MethodPrinter(); // p는 클래스의 이름
// 메소드 호출
// 사용할 이름.메소드명();
p.methodA(); // .은 포함된다는 의미
// p.methodB();
// p.methodC();
} // 메소드 종료 블럭
} // } 클래스 종료 블럭
반응형
'Programming > Java' 카테고리의 다른 글
[Java] 연산자 (0) | 2022.03.07 |
---|---|
[Java] 변수(Variable) (2) | 2020.10.26 |
[Java] 상속을 사용하는 목적과 장점 (1) | 2020.10.07 |
[Java] 객체와 클래스의 정의 및 차이점 (0) | 2020.10.05 |
[Java] 클래스 (0) | 2020.10.05 |
댓글