* 언어 특징
1. 운영체제에 독립적(이식성이 높음) -> 운영체제가 바뀌어도 자바는 수정할 필요가 없다.
2. 사용하기 쉬운 언어
- 다른 언어의 단점 보완(포인터, 메모리 관리)
- 객체 지향 언어
- 능률적이고 명확한 코드 작성 가능
3. 자동 메모리 관리(Garbage Collection)
4. 네트워크와 분산환경 지원
5. 멀티쓰래드 지원
6. 동적 로딩 지원
* JVM(Java Virtual Machine)
Process
1. 자바 코드 작성
2. 컴파일
3. Java Byte code -> 컴퓨터가 읽을 수 있는 코드
4. JVM를 통해 컴퓨터가 코드를 읽고 실행
* 자바 개발 환경
사용자 / 개발자 입장에 따라 설치하는 범위가 달라짐.
범위 JDK > JRE > JVM
Java SE : Java Standard Edition
Java EE : Java Enterprise Edition
Java ME: Java Micro Edition
* 코딩 실습
point
- 초록색 C 마크있는 게 클래스 파일. 이클립스가 컴파일 해준 것이고 JVM가 읽을 파일.
HelloWorld.java
package com.kh.first;
// 한줄 주석 : 주로 코드에 대한 설명을 위해 사용
/*
* 여러줄
* 주석 가능
* */
public class HelloWorld {
// 프로그램 구동시 제일 먼저 실행되는 메소드 == 메인(실행) 메소드
public static void main(String[] args) {
// 출력과 관련된 제공되는 메소드(println, print, printf)
//System.out.println(출력하고자하는 값);
//--> 해당 출력문 출력 후 "한 줄 띄어주는" 역할
System.out.println("Hi Everyone!!");
//System.out.print(출력하고자하는 값);
// --> 해당 출력문 출력만 하고 끝(한 줄 띄어쓰기 X)
System.out.print("안녕\n하세요");
System.out.print("여러분");
}
}
point
- 한줄 주석: // 여러줄 주석: /* */
- 메인 메소드 : 프로그램 구동시 가장 먼저 실행.
- println : 출력 후 한 줄 띄어줌
- \n : 줄 띄어주는 역할
A_MethodPrinter.java
package com.kh.first; // 패키지 선언부 : 이 클래스가 어떤 패키지에 속해있는지
public class A_MethodPrinter {
// 기능 == 메소드
// 메인 메소드가 없기 때문에 어디선가 호출해주어야 실행가능한 메소드들
public void methodA() {
System.out.println("메소드A 츨력문");
methodB(); //같은클래스내에 있는 메소드는 그냥 이름만 출력해주면 됨.
}
public void methodB() {
System.out.println("메소드B 출력문");
methodC();
}
public void methodC() {
System.out.println("메소드C 출력문");
//methodA();
}
}
RunA.java
package com.kh.run;
import com.kh.first.A_MethodPrinter;
// 실행을 담당 하는 클래스
public class RunA {
public static void main(String[] args) {
// 다른 클래스에 있는 메소드를 실행(호출)시키고자 할 때 방법
// 1) 실행하고자 하는 메소드가 있는 클래쓰를 생성(new) 이라는 걸 해라!
// [표현법] : 클래스명 사용할 이름 = new 클래스명();
//A_MethodPrinter a = new A_MethodPrinter();
// 위쪽 구문 빨간줄 뜨는 이유 : 같은패키지 내의 클래스가 아닌 다른패키지에 있는 클래스를 사용하려고 하기 때문에
// 해결방법1. 해당클래스가 어떤 패키지에 속해있는지 풀클래스명을 사용하는 방법
//com.kh.first.A_MethodPrinter a = new com.kh.first.A_MethodPrinter();
// 해결방법2.단지 클래스명만으로 생성하긴 하되 이클래스가 어느패키지에 속해있는지 단 한번 선언(import) 해놓기
A_MethodPrinter a = new A_MethodPrinter();
// 2) 생성 후 해당 메소드 실행(호출)
// [표현법] 사용할이름.실행시키고자하는메소드명();
a.methodA();
//a.methodB();
//a.methodC();
}
}
point
- Class 생성 순서 : 1. package 선언 - 2. import 선언 - 3. public class 클래스명 작성
- 다른 패키지에 있는 메소드를 실행(호출) 할 때는 메소드가 있는 클래스를 생성(new)해야함
방법은 풀클래스명을 사용하거나 import 선언 하기.
*클래스
- 자바에서 모든 코드는 클래스 안에 존재 해야함.
- 서로 관련된 코드들을 그룹으로 나누어 별도의 클래스 구성
- 클래스들이 모여 하나의 Java 애플리케이션 구성
*메소드
- 클래스의 기능(동작)에 해당하는 구현 부분.
- 실행 메소드 (메인 메소드)
Public static void main(String[] args) -> 메인메소드의 고정 선언부
프로그램 실행 시 java.exe에 의해 호출 됨.
모든 클래스가 메인메소드를 가지고 있어야 하는 건 아니지만
Java 애플리케이션에는 반드시 1 개의 메인메소드를 포함한 클래스가 존재해야한다.
'JAVA > JAVA 기초' 카테고리의 다른 글
JAVA 기초 - 상수(Constant) (0) | 2020.05.28 |
---|---|
Java 기초 - Overflow (0) | 2020.05.28 |
Java 기초- 형변환 (Type Casting) (0) | 2020.05.28 |
JAVA 기초 - Scanner (Java User Input) (0) | 2020.05.28 |
JAVA 기초 - Variable (변수) (0) | 2020.05.25 |