자바 언어의 특징
1. 운영체제에 독립적 -> JVM(자바가상머신)하고만 통신하기 때문. 하지만 JVM은 운용체제에 종속적임
2. 객체지향 언어 ->상속, 캡슐화, 다형성??(이해불가)
3. 가비지컬렉터가 자동으로 메모리 관리 해줌
4. 네트워크 및 분산처리 지원
5. 멀티 쓰레드 지원 (시스템과 상관없이?)
6. 동적로딩 지원 ->여러개의 클래스로 구성돼있어도 실행시 전부실행X
JVM(자바 버츄얼 머신)->자바를 실행하기 위한 컴퓨터
일반어플과 다르게 자바로 작성된 어플은 JVM을 반드시 거쳐야함
자바로 프로그램 작성하기
• 자바의 모든 코드-> 반드시 클래스 안에 존재 + 이 클래스들을 모아서 자바 어플리케이션 구성
ex) class Hello{ } = Hello가 클래스 이름 + { } 안에 내용 넣기
• public static void main(String[] args) { } ->메인 메소드의 선언부 -> 고정임
{ } -> 원하는 내용 넣기
소스파일(.java) 유의사항
- 모든클래스에 메인 메소드가 있을 필요는 없지만 자바 어플 전체중 최소 하나의 클래스에는 메인 메소드가 있어야함
- 하나의 소스파일 -> public class는 둘 이상 불가능
Hello2.java
public class Hello2 {}
public class Hello3 {} -> 퍼블릭 2개 X
- 소스파일 이름이 public class와 일치해야함
Hello3.java
public class Hello2 {}
class Hello3 {} ->일치하지 않으므로 X
hello2.java
public class Hello2 {}
class Hello3 {} ->대문자 일치하지 않으므로 X