[JAVA ] HelloWorld! 자바란 무엇일까?

Dec 19, 2023
[JAVA ] HelloWorld!
자바란 무엇일까?
 

1. Java 언어의 탄생

Java는 제임스 고슬링과 연구원들이 개발한 객체 지향적 프로그래밍 언어이다.
가정용 전자 제품에 사용하기 위해 만들었음

2. Java의 특징

Write Once, Run Anywhere

직역을 하면, '한 번 작성하면 어디에서나 실행된다'는 의미로,
자바로 개발된 프로그램은 자바 실행 환경 JRE가 설치된 모든 환경에서 실행이 가능하다는
것을 의미한다. (자바는 가상 기계만 설치 되어 있으면 어디서든 실행할 수 있다.)

3. 가상 기계

  • 자바는 운영 체제가 다르더라도 어디서든 실행시킬 수 있다. 반면 C언어나 C++ 언어 등은 운영체제나 CPU가 다르면 실행이 불가능하다.
  • 자바 프로그램 실행 과정 자바 컴파일러는 가상적인 컴퓨터의 기계어인 바이트 코드(nyte code)를 생성하는데 바이트 코드는 JVM에 의해 한 줄 씩 해석되면서 각각의 OS에서 실행된다.
  • 네이티브 코드(native code) 컴파일 하지 않아도 운영체제에서 바로 실행시킬 수 있는 코드이다. C언어는 네이티브코드이고 JAVA는 네이티브 코드가 아니다.
 

4. JDK(Java Development Kit)

자바가 오라클에 인수된 시점은 1.8버전일 때이기 때문에 1.9버전부터는
오라클 소유의 자바가 되었다. 오라클은 유료화의 화신이기 때문에 1.9부터 오라클 버전 JDK인지 oepn JDK인지가 나뉜다.
 
JDK의 폴더
bin: 컴파일러(java.exe, javac.exe), 디버거 등의 도구가 들어 있다. lib: 개발 도구들이 필요로 하는 추가적인 클래스 라이브러리와 지원 파일들이다.

5. 변수와 자료형

  • 변수 int x; // int는 자료형, x는 변수 이름이다. // 선언만 되어 있기 때문에 x 안의 값은 null이다.(빈 박스만 만들어 놓음)
  • 자료형 자바의 자료형은 크게 기초형(primitive type)과 참조형(reference type)으로 나뉜다.
 

6. 자바 실습

1) 모든 코드는 클래스 내부에 적는다. (class{} 안에 넣어야 한다.)

 
notion image
💡
프로젝트의 이름은 소문자로만 사용

2) 파일명과 클래스명은 동일해야한다.

자바의 파일명은 class 이름과 동일해야 한다. 그렇지 하지 않으면 class 명이 달라서 오류남.
  • 클래스명은 첫글자가 대문자 (파스칼 작성법 따라야)
 

3) 자료형

package ex01; public class varEx01 { //모든 코드는 main 메서드 내부에 적는다. public static void main(String[] args) { int n1 = 1; // 21억까지 (4Byte) // 1정도는 바이트에 저장하면 공간이 절약되겠지만 변수이기 때문에 값을 바꾸려면 한계가 생긴다. double d1 = 1.5; // 21억까지 (8Byte). 21억.2, 21억.542 이런 식으로 쓸 수 있음. // 소숫점 아래도 표현(실수)되기 때문에 더 큰 공간이 필요 // double은 8byte. 램 8칸 사용 // 21억 이상 저장 long big1 = 20000000000L; //경까지 저장 (8Byte), long을 쓸 때는 뒤에 L을 꼭 사용! // 범위 안이라도 숫자 뒤에 L을 적어줌 // 정수 표현 범위를 넘어서면 오류가 나기 때문에 퉁쳐서 L을 적어줌. boolean b1 = true; //trun, false ------> 우리가 표기할땐 trun, false로 표기하지만 컴퓨터는 0과 1이라고 기록함 // true, false 1bit만 사용하지만 외부에서 그 위치를 찾을 수 있게 하려면 // 1bit여도 1byte를 모두 사용한다. char c1 = '가'; // 문자 하나만 저장 할 수 있음 // ''를 쓴다. ""이거 말구. 한글, 영어 상관 없이 1글자만 저장됨. // 설정하기에 따라 크기가 달라져서 크기를 지금은 몰라도 된다. String s1 = "가나다"; //String은 앞에 꼭 대문자로 넣어주기. //문자열을 저장 // 모니터 출력 코드 System.out.println(n1); System.out.println(d1); System.out.println(big1); System.out.println(b1); System.out.println(c1); } // main 끝 --> 자바 프로그램 종료 , 메인의 시작부터 끝 자바의 생명주기다! }
  • os가 변수명 (n1, d1, big1) 을 보고, 저장되어 있는 주소를 찾아준다. (자바가 찾아주는거 아님)
 
int n1; double d1; long big1; 이렇게 되어있으면 null값을 저장한 것이다. (값이 존재하지 않는단게 아니라, '값이 없다'라고 저장함)
 
"초기화"는 해당 변수나 배열을 처음 사용하기 전에 값을 할당하는 것을 의미
 
Share article

Coding_study