일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- ElasticSearch
- 이차전지관련주
- 스프링핵심원리
- 이펙티브 자바
- k8s
- 스프링 핵심원리
- Sort
- Effective Java 3
- 카카오 면접
- 알고리즘정렬
- 이펙티브자바
- 스프링
- 엘라스틱서치
- 클린아키텍처
- kubernetes
- 김영한
- 자바스크립트
- java
- JavaScript
- 코딩테스트
- Spring
- Effective Java
- 알고리즘
- 자바
- 스프링부트
- 오블완
- 카카오
- 예제로 배우는 스프링 입문
- effectivejava
- 티스토리챌린지
- Today
- Total
Kim-Baek 개발자 이야기
자바 기본 (2) - 역사 본문
예전에 자바를 처음 공부하던 때, 네이버 블로그에 정리한 내용을 이제 티스토리로 옮기고자 한다.
◎컴파일 시 오류
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(낙타) 표기법이라고 한다 -> 낙타의 등처럼 대소문자가 들어갔다 나왔다 하기 때문이다.
사용법으로는 단어 + 단어가 될 때, 단어의 첫 글자를 대문자로 사용하는것이다(두 번째 단어부터)
'개발 > java basic' 카테고리의 다른 글
자바 기본 (6) - 입출력, 배열 (0) | 2020.09.27 |
---|---|
자바 기본 (5) - 시험, 조건문, 반복문 (0) | 2020.09.26 |
자바 기본 (4) - 조건문, 제어문 (0) | 2020.09.25 |
자바 기본 (3) - 변수 및 자료형 (0) | 2020.09.20 |
자바 기본 (1) - 설정 (0) | 2020.09.20 |