티스토리 뷰
GITHUB : https://github.com/Munchurwoo/Programming_Languages_Cleanup/tree/master/Java
수정되거나 추가된 내용은 깃허브에서 편리하게 볼 수 있습니다
Java 기초 이해하기
1. 자바 언어 특징
자바(Java)는 객체 지향 프로그래밍 언어 중 하나로 썬 마이크로시스템즈에서 처음 자바 언어를 발표했다.
초기의 자바는 가전 제품에 탑재할 프로그래밍 언어로 개발되었지만, 지금은 스마트폰을 비롯한
각종 장비와 데스크톱에서 실행되는 애플리케이션을 개발하는 중추적인 언어로 자리매김하였다.
Object Oriented Program(OOP)
객체지향 언어로 개발과 유지보수를 효율적으로 진행 할 수 있다. 다양한 애플리케이션을 개발할 수 있다메모리를 자동으로 관리한다
C++이 메모리 관리를 위해 개발자가 직접 코드를 작성해야 하는 반면, 자바는 개발자가 메모리에 직접 접근할 수 없으며 자바가 직접 메모리를 관리한다. 객체를 생성할 때 자동적으로 메모리 영역을 찾아서 할당하고, 사용이 완료되면 Garbage Collector를 실행시켜 자동적으로 사용하지 않는 객체를 제거한다. 따라서 개발자는 메모리 관리의 수고스러움을 덜고, 코딩에 좀 더 집중할 수 있다.Virtual Machine
자바는 윈도우, 리눅스, 유닉스, 맥 등 다양한 운영체제(OS)에서 실행되는 프로그램을 개발할 수 있다. 또한 콘솔 프로그램, 클라이언트용 윈도우 애플리케이션, 서버용 웹 애플리케이션, 모바일용 안드로이드 앱에 이르기까지 거의 모든 곳에 실행되는 프로그램을 개발할 수 있다.멀티스레드를 쉽게 구현할 수 있다 자바는 스레드 생성 및 제어와 관련된 라이브러리 API를 제공하고 있기 때문에 실행되는 운영체제에 상관없이 멀티 스레드를 쉽게 구현할 수 있다.
동적 로딩(Dynamic Loading)을 지원한다 애플리케이션이 실행될 때 모든 객체가 생성되지 않고, 각 객체가 필요한 시점에 클래스를 동적 로딩해서 생성한다. 또한 유지보수 시 해당 클래스만 수정하면 되기 때문에 전체 애플리케이션을 다시 컴파일할 필요가 없다. 따라서 유지보수가 쉽고 빠르다.
오픈소스 라이브러리가 풍부하다 자바는 오픈소스 언어이기 때문에 자바 프로그램에서 사용하는 라이브러리 또한 오픈소스가 많다. 오픈소스 라이브러리를 사용하면 개발 시간을 단축하면서 안정성이 높은 애플리케이션을 쉽게 개발할 수 있다.
2. JAVA 대표 3가지의 플랫폼
JAVA SE(Stand Edition) : JAVA Application 개발 > 일반적인 어플리케이션 개발
JAVA ME(Mobile Edition) : 휴대 가능한 소형 디바이스에 사용을 목적으로 개발 > 현재의 스마트폰 등작으로 쇠퇴
JAVA EE(Enterprise Edition) : 기업 솔루션 개발 > 가장 핵심
- 자바 프로그램 개발 절차 자바 프로그램 개발은 자바 소스 코드(.java) 작성 → 자바 컴파일러 → 자바 바이트코드(.class, 컴파일) → 자바 가상머신(JVM) → 운영체제, 하드웨어 → 실행의 단계로 진행한다. 바이트코드는 운영체제에 상관없이 가상머신에서 실행하는 중간 코드이다.
3. 변수란 무엇인가?
- 다음 예와 같은 a, b를 변수(variable)라고 한다.
int a;
String s;
변수의 이름은 프로그래머가 마음대로 지을 수 있다. 위의 예처럼 a, b 라는 이름으로 지을 수도 아래와 같이 one, two 라는 이름으로도 지을 수 있다.
int one;
String two;
단, 변수의 이름을 지을 때는 다음과 같이 지켜야 할 몇가지 규칙이 있다.
- 변수 이름의 길이에는 제한이 없다.
- 반드시 문자나 언더바(_), 달러 기호($)로 시작해야 한다.
- 자바의 연산자(+, -, *, /)는 변수 이름에 넣을 수 없다.
- 대소문자를 구분한다(int result와 int Result는 다른 변수).
- 첫 글자에 숫자가 올 수 없고, 이름 사이에 빈칸을 넣어서도 안 된다. * 빈칸 대신 언더바(_)를 사용한다.
- 자바의 키워드는 변수 이름으로 사용할 수 없다.
자바에서 변수 선언은 명시적으로 데이터형을 지정하게 되어 있으며, 선언된 데이터 유형과 대입된 데이터값에 차이가 있을 때 오류나 오버플로, 언더플로가 발생하므로 주의한다.
자바의 변수는 유형에 따라 인스턴스 변수, 클래스 변수, 지역 변수, 파라미터로 구분한다.
자바에서 지원하는 기본 자료형(Primitive Data Types)은 크게 정수형, 실수형, 논리형으로 나눈다.
4. 조건문(분기문)
- 분기문은 프로그램을 개발할 때 논리적 수행을 지원하는 명령어이다. 자바에서 지원하는 분기문은 if 문과 switch 문이 있다.
- if 문은 중첩 사용이 가능하며, if ~ else if ~ else 문 등 응용이 가능하다.
- switch 문은 정수형뿐만 아니라 문자열 비교로 case별 처리가 가능하다.
if(조건값 1) { 명령문; } else if(조건값 2) { 명령문; } else if(조건값 3) { 명령문; } else { 명령문; }
if(조건값 1) { 명령문; if(조건값 2) { 명령문; } } else { 명령문; if(조건값 3) { 명령문; } }
switch(조건값) { case 조건 1: 명령문; break; case 조건 2: 명령문; break; case 조건 3: 명령문; break; default: 명령문; break; }
5. 반목문
- 반복문은 순환문이라고도 하며, 분기문과 함께 프로그램에서 기본적인 로직을 구성하는 기본 문법 중 하나이다.
- 패턴이 일정하여 반복적으로 일을 수행할 때 순환문을 사용하면 쉽게 결과를 확인할 수 있다. 자바 언어에서 지원하는 순환문으로는 for 문과 while 문이 있다.
- for 문은 시작과 조건, 증감식 등으로 구성된다. while 문은 조건을 충족하는 동안 계속 수행하는 반복문으로 경우에 따라 do ~ while 문의 형태로도 사용이 가능하다.
for(초기값; 조건값; 증감식) { 명령문; }
while(조건값) { 명령문; }
do { 명령문; } while(조건값)
6.배열
- 배열은 인덱스(순차 번호)와 인덱스로 참조 가능한 데이터로 된 일종의 자료구조이다.
- 배열은 집합형 데이터 관리가 필요할 때 사용하며, 원시 자료형뿐만 아니라 객체 타입도 지원한다.
- 배열은 선언할 때 크기를 지정해야 하고, 나중에 변경할 수 없다. 또 배열 안 모든 데이터는 동일한 자료형이어야 한다.
- 배열 안 데이터를 참조하는 인덱스는 0부터 시작하고, 데이터가 할당되지 않은 인덱스 위치를 참조할 때 Null Pointer Exception이 발생한다.
'JAVA > JAVA 기초문법' 카테고리의 다른 글
JAVA File.mkdir()과 File.mkdirs() 차이! (0) | 2018.07.26 |
---|---|
[1] JAVA 설치 및 eclipse 툴 설치 (0) | 2018.03.07 |