자바

[자바] 기본적인 개념 정리

j9972 2022. 6. 24. 00:12
728x90

자바

자바란?

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

- 운영체제 ( OS )에 독립적이다 ( JVM 덕분 )

자바 특징

장점

1.  운영체제에 독립적이다. 

-> 모든 자바 프로그램은 JVM을 통해 OS랑 통신하기에 OS로부터 독립적이다

 

2. 객체지향언어이다

-> 상속, 캡슐화, 다형성, 재사용성, 유지보수 용이성이 뛰어남

 

3. 비교적 배우기 쉽다

 

4. 자동 메모리 관리( Garbage Collection )가 된다

-> 메모리 누수가 발생하지 않는다.

 

5. 네트워크와 분산처리를 지원한다

-> 네트워크 프로그래밍 라이브러리를 통해 대규모 분산환경을 지원한다

 

6. 멀티쓰레디를 지원한다

-> 멀티쓰레드 프로그램은 시스템과는 관계없이 구현가능하며, 여러 쓰레드에 대한 스케줄링은 자바 인터프리터가 담당한다

 

7. 동적 로딩( Dynamic Loading )을 지원한다

-> 필요한 시점에 클래스를 로딩하여 사용함을 의미한다. 따라서, 전체 애플리케이션을 다시 컴파일 하지 않아도 된다.

 

가비지컬렉터 ( Garbage Collector ) : 프로그램에 유효하지 않은 메모리를 처리해준다
쓰래드 ( Thread ) : 프로세스내 실제 작업 수행 주체
멀티 쓰래드 ( Multi-thread ) : 하나의 프로세스안에서 여러 쓰래드 수행

 

단점

1. 속도가 느리다

-> 하지만, JIT컴파일러 ( 바이트코드 -> 하드웨어 기계어 )로 변환

 

자바 프로그램 작성하기

- java의 파일명과 클래스의 이름이 같아야한다. ( 소스파일의 이름은 public class의 이름과 같아야 한다. )

- 자바에서 모든 코드는 반드시 클래스안에 존재해야한다. ( 서로 관련된 코드들은 그룹으로 나누어 별도의 클래스를 구성 )

- public static void main(String[] args)는 mian메서드의 선언부이므로, 항상 똑같이 적어줘야함

- 모든 클래스가 main 메서드를 가져야 하는것은 아니지만, 하나의 Java 애플리케이션은 main메서드가 포함된 클래스가 반드시 하나는 있어야 한다.

 

올바른 작성 설명
Hello2.java
public class Hello2 { }
            class Hello3 { }
public class가 있는 경우, 소스파일의 이름은 반드시 public class의 이름과 일치해야한다
Hello2.java
class Hello2 { }
class Hello3 { }
public class가 없는 경우, 소스파일의 이름은 둘다 가능하다

 

잘못된 작성 설명
Hello2.java
public class Hello2 { }
public class Hello3 { }
하나의 소스파일에 둘 이상의 public class가 존재하면 안된다.
Hello3.java
public class Hello2 { }
            class Hello3 { }
소스파일의 이름이 public class의 이름과 일치하지 않으므로, 소스파일의 이름을 Hello2.java 로 변경해야한다
hello2.java
public class Hello2 { }
            class Hello3 { }
소스파일의 이름이 public class의 이름과 일치하지 않는데, 대소문자를 주의해야 한다.

 

자바프로그램 실행과정

내부적인 진행순서

1. 프로그램 실행에 필요한 클래스( *.class )를 로드한다

2. 클래스파일을 검사한다 ( 파일형식, 악성코드 체크 )

3. 저장된 클래스에서 main(String[] args)를 호출한다

 

Java Source Code .java
( compile )
Java Application.class
( run )
JVM ( Java Virtual Machine )
computer

 

JVM ( Java Virtual Machine )

- 자바를 실행하기 위한 가상 기계

- OS에 종속적이기 떄문에 해당 OS에 실행가능한 JVM이 필요하다

Java API문서 설치하기

- http://java.sun.com/ 

 

작은 꿀 Tip

맥 - vscode에서는 control + option + N 이 실행시키는 단축키입니다.