Java - 역사, 특징

java의 역사 

🧙🏻‍♂️자바의 아버지 - 제임스 고슬링🧙🏻‍♂️

한국에서는 정부나 기업의 시스템 통합 (시스템통합(SI = System Intergration))
프로젝트가 대부분 자바로 구현 되기 때문에 자바는 기업용 시장에서 두각을 나타냄
시스템통합(SI = System Intergration)

 

 

자바의 특징

1. 운영체제에 독립적이다.
자바는 일종 에뮬레이터인 자바가상머신(JVM)을 이용하기 때문에 운영체제에 적응하기 위해 노력을 하지 않아도 된다
JVM이 없다면 윈도우면 윈도우 맥이면 맥 다 따로 했어야함! 알아두자
자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM하고만  통신하고 JVM이 자바 응용프로그램으로부터 전달받은 명령을 해당 운영체제가 이해할 수 있도록 변환하여 전달한다.

2. 객체지향 언어이다.
객체지향 프로그램 OOP 이다. object oriented programming
캡슐화, 다형성이 잘 적용된 순수한 객체지향 언어이다. = (프로그래머가 코딩을 더 간편하게 하기 위해 만든것 객체 각각 하나를 코딩하게 된다면 오류, 오타가 나거나 코딩이 복잡해짐 )
그래서 플레이어 팩토리를 만들어서 공통된 부분은 주고 데이터만 따로 저장하게 해놓으면 됨 플레이어 팩토리를 클래스라고 생각!

Class는 일종의 구조임 = 설계도라고 생각 ,플레이어 객체가 어떻게 보여야 하는 도면이라고 생각, 쿠키틀이라고 생각하면 편함 
각각 쿠키를 원하는 틀로 찍어낼수 있는 템플릿

인스턴스(객체) = 쿠키
연관되어 있는 함수를 묶어 주는 것 -객체

쿠키를 구우면 = 메서드(함수)
메서드는 쿠키를 업그레이드시켜준다고 생각

상속 = 코드 중복을 줄이고 코드를 재 사용 가능한 조각으로 나눔
자녀 클래스가 부모 클래스의 속성을 갖는것)

3. 비교적 배우기 쉽다.
복잡하고 불필요한 부분은 과감히 제거하여 단순화함

4. 자동메모리관리
자바로 작성된 프로그램이 실행되면 가비지컬렉터( Garvage collector)가 자동적으로 메모리를 관리해줌

5. 네트워크와 분산처리를 지원한다
네트워크 프로그래밍 라이브러리(java API)를 통해 비교적 짧은 시간에 네트워크 관련 프로그램을 쉽게 개발할 수 있도록 지원한다.

 

6. 멀티쓰레드를 지원한다
하나의 프로세스를 다수의 스레드로 구성하여 서로 자원을 구성하고
이를 통해 자원을 효율적으로 사용하여 작업 처리 속도를 향상시키는것
자바에서 개발되는 멀티쓰레드 프로그램은 시스템과는 관게없이 구현가능하며, 관련된 라이브러리(java API)가 제공돼서 구현이 쉽다.

7. 동적로딩을지원한다.
자바는 여러 개의 클래스로 구성되어 있고 동적로딩을 지원하기 때문에 실행시 모든 클래스가 로딩되지 않고 필요한 시점에 클래스를 로딩하여 사용할 수 있다는 장점이 있다.

 

 

✔ I/O란?

System 은 Input(입력),Precess(처리),Output(출력)으로 구성되어 있음


" 3 + 4 = 7"

3과 4는 input
'+'는 process
7은 output

 

public static void main(String[] args) 뜻

=> public은 접근제어자
외부에서 접근할 수 있는 일종의 제약의 뜻으로 어느 곳에서든 해당 객체를 참조할 수 있다는 의미
public = '공개한다' → 열어 놓았으니 다 볼 수 있다는 뜻

=> static은 함수가 정적 함수임을 의미함 ('그대로 있어도 되는' 으로 해석)
전역적 성질을 가짐

=> void main 자료형을 의미
void는 리턴되는 값이 없지만 void 자리에 int가 들어가게 된다면 어떠한 처리를 실행한 후에 정수형 데이터를 돌려보내겠다는 뜻이고 string이 들어갈 경우 문자열 데이터를 돌려보내겠다는 의미

💥결론 = 종합의 의미💥

Public static void
메인 메서드는 자바 실행 시 제일 먼저 도착하고 어느 객체에서든 접근 가능하고 자바가 컴파일 되는 순간 정의되는 돌려주는 값이 없는 함수

(String[] args)  연속적인 문자열 데이터가 들어가는 저장공간, args는 단순히 변수명이다!

 

변수란?

변수는 하나의 값을 저장할 수 있는 저장공간이다. 저장공간, 즉 변수가 필요하면 먼저 변수를 선언해야한다.

"변수타입 변수명 = "

변수를 선언한 후에는 변수에 대입 연산자를 이용해 값을 저장할 수 있음

 

자바의 자료형

기본 자료형

변수를 선언 할 때는 변수에 저장할 값의 종류에 따라 변수 타입을 선택해야한다. 기본형의 종류는 총 8가지로 크게 정수형 , 실수형 , 논리형, 문자형으로 나뉜다.

char은 문자를 뜻하는 타입인데 1글자의 문자만을 뜻한다.

char는 어느 책에는 정수형이라고 나뉘어져 있기도 하고 다른책은 문자형 이라고도 나뉘어져 있는데 정수형이라고 하는 이유는 문자를 저장하긴 하지만 컴퓨터는 숫자로 바꿔서 십진수로 저장하기 때문에
숫자로 기억하고 있기때문에 정수형에 속한다고 말하는 부분도 있다. (아스키코드)

'STUDY(개인 기록) > JAVA' 카테고리의 다른 글

프로그래밍  (0) 2024.03.07
Java - 배열  (0) 2023.03.27
Java - 반복문  (0) 2023.03.27
Java - if 문  (1) 2023.03.21