Kim-Baek 개발자 이야기

자바 기본 (2) - 역사 본문

개발/java basic

자바 기본 (2) - 역사

김백개발자 2020. 9. 20. 10:57
예전에 자바를 처음 공부하던 때, 네이버 블로그에 정리한 내용을 이제 티스토리로 옮기고자 한다.

 

◎컴파일 시 오류
cannot find symbol -> 오타가 있을때 나오는 오류이다 (대소문자 구별을 잘 확인하자)
※에러 노트를 만들자

 어떤 상황에서 에러가 났는지, 어떻게 고쳤는지 확인을 통해 추후에 에러를 잘 고칠 수 있게 된다.

 

◎공백과 주석

공백과 주석은 코드의 가독성을 높인다, 컴파일 시에는 사라지는 부분이다.

 

◎중괄호의 사용

중괄호는 코드(명령문)를 묶는다. 열었으면 닫아야한다. 중괄호를 기준으로 Tab 을사용한다 -> 어떻게 연결되는지 확인이 편리할 수 있도록 하는 것이다.

 

◎세미콜론의 사용

;  (세미콜론)은 하나의 명령문(실행문)이 종료됨을 알려준다.(마침표 개념) 
실제로 실행할 때는 공백이나 enter 친 부분이 모두 없어진다. 따라서 명령문들의 구분을 위해서 세미콜론을 사용하게 된다.

 

◎Main 메소드

public static void main(String[] args)
args 는 다른 글자를 써도 상관없지만 다른 것들은 다 맞춰주어야 한다.
프로그램의 실행에 반드시 필요한 부분. 이 안에는 실행할 코드들이 들어간다.
다양한 동작(메서드)가 있을 수 있는데 하나를 정해서 맨처음 반드시 실행되는 부분을 정해두어야 하는데, 이 부분이 첫 시작을 하는 부분이다.

◎프로그램의 실행 과정

프로그램은 HDD 에 저장되어 있다가 RAM 에 올려지며, CPU를 통해 H/W 를 컨트롤 한다.

​ex) 명령 프롬프트에서의 java HelloWorld 는

1. class loading (class 파일을 메모리에 올린다)

2. 검사 (올바른, 실행이 가능한 class 파일인지 검사한다)

3. 실행 (byte -> binary(기계어))

의 과정으로 실행 된다.

◎자바의 기술군

-Java SE (Standard Edition) ​ 가장 기본이 되는 기술군이며 표준적인 여리가지 기술이 묶여있다. 데스크탑용 프로그램을 만드는데 많이 사용된다.

 

-Java ME (Micro Edition) - 소형기계에 들어가는 것(Phone, card, 전자기기 등...) 

※핸드폰의 경우 안드로이드가 거의 점유. ME 는 성공하지 못했다.

 

-Java EE (Enterprise Edition) - 기업용 app -> Web 기반

 

◎자바의 발전

SE 의 경우 Java 1.2 버전에서 어느정도 완성이 되었다 -> Java 2

Java1.5 버전에서 많은 변화가 있었다. -> Java5 (.net 이 MS 에서 만들어져서 경쟁을 느낌)

Java1.8 버전의 경우 함수형 언어의 기능이 추가되었다.

 

◎JVM (Java Virtual Machine)

Java class (실행 프로그램)을 실행해주는 프로그램이다 -> Java Interpreter

※H/W를 가상의 S/W로 만들어 사용한다. 마치 cpu, mem, vga 역할을 하는 것.

 

◎API (Abstract Programing Interface)

재사용을 위해 미리 작성된 실행코드이다.

하드웨어와 하는 작업은 보통 공통되고, 그것을 어떻게 사용할지가 다르기 때문에 공통인 부분은 미리만들어 두자

ex) 네트워크와 연결해 정보를 받는 부분(공통) -> 정보를 어떻게 사용하지?(각자 다른부분)

-> 따라서 미리미리 작성해 효율적인 사용을 하자

 

◎API 의 종류

Core API - Oracle 에서 제공한 API (실행환경을 설치하게 되면 기본제공이 되는 부분)

Extention API - 제 3자(vendor)들이 제공하는 API

 

◎JRE (Java Runtime(실행) Environment(환경))

JVM + API = JRE (자바실행환경) 이다

ex) HelloWorld.class 내의 System.out.println 은 API 이며 이를 실행하는 것이 JVM 이다

 

◎JDK (Java Development Kits)

JRE + 개발툴 = JDK 라고 부른다.

※ SDK (Software Development Kits)

 

◎Jave 의 구성

Java 의 구문은 C++ 과 굉장히 유사하다

Java 의 oop 적 개념은 small talk 에서 따왔다.

 

◎ 변수의 개념

y = x + 1; 에서 1은 상수로 항상 변하지 않는 수이지만 x, y는 값이 변한다. 이는 이 값안에 어떤 임의의 값을 저장해놓고 사용하겠다는 의미이다(1개의 값을 메모리에 저장하는 저장소의 역할을 한다)

program 은 값 + 동작으로 이루어지는데 값은 변수와 상수로 이루어져있다고 할 수 있다.

 

◎변수의 선언

값의 저장공간을 만드는 과정이다 . DataType + 이름; 의 형식을 갖는다.

 

◎변수의 초기화

변수의 값을 처음 설정하는 것을 변수의 초기화라고 한다.

변수이름 = 값; -> 값을 변수에 넣어라 라는 명령이다. 

ex) age = 10;

변수를 사용하는 이유로는 1. 재사용을 위해서 (여러군데서 쓸경우) 변수의 값을 바꿔서 전체를 다 바꾸자. 2. 값이 변하기 때문이다.

◎변수의 사용

-대입 : 변수명 = 값;

-사용(조회) - 변수명

 

※변수의 선언과 초기화를 한꺼번에 할 수 있다. 

ex) int age = 20;

 

※변수와 문자열 구분

System.out.print(age); -> 변수이다

System.out.print("age"); -> 큰 따옴표로 묶여있다면 문자열이라 할 수 있다.

 

◎변수(다른 그외 모든 것)의 명명 규칙 

1. 대소문자의 구별

2. 길이의 제한이 존재하지 않는다 -> 변수가 저장할 값의 의미를 명확하게 표현하도록 이름 짓자

3. 알파벳(A->Z,a->z), 숫자(첫번째 글자로는 사용이 불가능), 특수문자 (_, $) 의 사용이 가능

4. 예약어(Keyword)를 변수명으로 못쓴다.

 

◎변수 명명 관례

일명 Camel(낙타) 표기법이라고 한다 -> 낙타의 등처럼 대소문자가 들어갔다 나왔다 하기 때문이다.

사용법으로는 단어 + 단어가 될 때, 단어의 첫 글자를 대문자로 사용하는것이다(두 번째 단어부터)

반응형
Comments