티스토리 뷰

반응형


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
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크