728x90
반응형

JAVA 개요

- 자바는 썬 마이크로 시스템즈(현재는 Oracle로 인수됨) 에서 개발하여 1996년 1월에 공식적으로 발표한 객체지향 프로그래밍 언어

- 웹 브라우저인 넷스케이프에서 사용할 수 있는 객체 지향 프로그래밍 언어로서 보안성이 뛰어나며 컴파일한 코드는 다른 운영체제에서 사용할 수 있도록 클래스(class)로 제공된다. 객체 지향 언어인 C++언어의 객체 지향적인 장점을 살리면서 분산 환경을 지원하며 더욱 효율적이다.

 

JAVA의 역사

- 썬 마이크로시스템즈의 제임스 고슬링(James Gosling)과 다른 연구원들이 개발한 객체지향적 프로그래밍 언어이며, 썬 마이크로시스템즈에서 무료로 제공했다.

- 1991년 그린 프로젝트라는 이름으로 시작해 1995년에 발표했다. 처음에는 가전제품 내에 탑재해 동작하는 프로그램을 위해 개발했지만 현재 웹 애플리케이션 개발에 가장 많이 사용하는 언어 가운데 하나이고, 모바일 기기용 소프트웨어 개발에도 널리 사용하고 있다.

- 자바는 유닉스 기반의 배경을 가지고 있기 때문에 문법적인 특성은 C언어와 비슷하다.

자바를 다른 컴파일언어와 구분짓는 가장 큰 특징은 컴파일된 코드가 플랫폼 독립적이라는 점이다. 자바 컴파일러는 실행하기 위해서 JVM(자바 가상 머신, Java Virtual Machine)이라는 특수한 가상 머신이 필요한데, 이 가상 머신은 자바 바이트코드를 어느 플랫폼에서나 동일한 형태로 실행시킨다. 때문에 자바로 개발된 프로그램은 CPU나 운영체제의 종류에 관계없이 JVM을 설치할 수 있는 시스템에서는 어디서나 실행할 수 있으며, 이 점이 웹 애플리케이션의 특성과 맞아떨어져 폭발적인 인기를 끌게 되었다.

 

JAVA의 특징

간단하여 배우기 쉽다.

 - 자바 언어는 C++를 기반으로 개반되었음에도 C++에서 혼란을 일으키는부분을 제거했다.

객체지향 언어이다.

 - 소프트웨어를 개발할 때 재활용 측면에서 많은 장점을 가진다.

 - 다양한 기종의 컴퓨터와 다양한 플랫폼(윈도우,솔라리스,매킨토시 등의 운영체제)에서 실행 가능하다.

보안에 강하다.

 - 자바는 바이러스가 침투하지 못하는 구조를 가지고 메모리에서 데이터접글을 제한할 수 있다.

이식성이높다.

자동 메모리 관리지원

네트워크와 분산처리 지원

멀티쓰레드 지원

동적 로딩지원


JVM(Java Virtual Machine) 자바 가상 기계

 - 자바 바이트 코드와 컴퓨터의 운영 시스템 간의 번역기 역할을 한다.

 JVM을 이용하여 사용자는 매킨토시,윈도우, 유닉스 등 다양한 컴퓨터 플랫폼에서 자바를 실행시킬 수 있다.

 - 사용자가 JAVA파일을 생성한 후 JDK의 컴파일을 거쳐 바이트코드(class)가되어 JVM을 거치면 컴퓨터가 사용할 수 있는 기계언어로 변경해주는 역할을 한다.

 - 자바 실행 흐름 :: 소스코드(*.java)생성 -> JDK컴파일 -> 클래스 파일(*.class)생성 -> JVM -> 실행




변수의 종류

 값  -  문자 -> char

      -  숫자 -> 정수(byte, short, int, long)  실수(float, double)

      -  논리 -> boolean


변수의 타입

 기본형 - 8개(boolean, char, byte, short, int, long, float, double)

           - 실제 값을 저장하는 변수


 참조형 - 기본형을 제외한 나머지 (String, System 등)


< 기본형 >

 논리형

 - true와 false중 하나를 값으로 가지며, 조건식과 논리적 계산에 사용된다.

  -> boolean (1byte)

 문자형

 - 문자를 저장하는데 사용되며, 변수 당 하나의 문자만을 저장할 수 있다.

  -> char (4byte)

 정수형

 - 정수 값을 저장하는데 사용된다. 주로 사용하는 것음 int 와 long이며, byte는 이진데이터를 다루는데 사용되며, short는 c언어와의 호환을 위해 추가되었다.

  -> byte(1byte), short(2byte), int(4byte), long(8byte)

 실수형

 - 실수 값을 저장하는데 사용된다. float와 double이 있다.

  -> float(4byte), double(8byte)



자료형의 크기와 범위

 논리 :: boolean   1byte    false        false,true

 문자 :: char        2byte    \u0000    0 65,535

 정수 :: byte        1byte      0            -128 ~ 127

            short       2byte      0            -32,768 ~ 32,767

            int           4byte      0            -2,147,483,648 ~ 2,147,483,647

            long        8byte      0            -9,223,370,036,854,775,808 ~ 9,223,372,036,854,775,807      

 실수 :: float        4byte      0.0f         -3.4E38 ~ +3.4E38

            double    8byte      0.0          -1.7E308 ~ +1.7E308


변수의 선언방법

선언형식 : 변수타입(자료형) 변수명

 예) int score;         //정수형 변수 선언

      score = 100;     //변수 초기화

      int score =100;  //정수형 변수 선언과 초기화

      String str = new String("abc");   //문자열 변수 선언과 초기화


명명규칙

 1. 대소문자가 구분되며 길이에 제한이 없다.

    -> True와 true는 서로 다른 것으로 간주된다.

 2. 예약어를 사용해서는 안된다. (int,false,long,double,for,char 등등...)

    -> true는 예약어라 사용할 수 없지만, True는 가능하다.

 3. 숫자로 시작해서는 안 된다.

    -> top10은 허용하시만, 7up은 허용되지 않는다.

 4. 특수문자는 '-'와 '$'만을 허용한다.

    -> $harp은 허용되지만 S#arp는 허용되지 않는다.


명명규칙 < 권장사항 >

 1. 클래스 이름의 첫 글자는 항상 대문자로 한다.

    -> 변수와 메서드 이름의 첫 글자는 항상 소문자로 한다.

 2. 여러 단어의 조합은 단어의 첫 글자를 대문자로 한다.

    -> LastIndexOf,StringBuffer

 3. 상수의 이름은 대문자로 한다. 단어는 '_'로 구분한다.

   -> PI, MAX_NUMBER



<변수 선언 규칙>






<변수, 상수, 리터럴>

  변수(variable) :: 하나의 값을 저장하기 위한 공간, 변하는 수

  상수(constant) :: 한 번만 값을 저장할 수 있는 공간, 변하지 않는 수

  리터럴(literal) :: 그 자체로 값을 의미하는 것



728x90
반응형

'Web Programming > java-jsp' 카테고리의 다른 글

java 연산자  (0) 2018.08.29
java 문자열 오버플로우 형변환 특수문자  (0) 2018.08.29
java 예외 try catch finally  (0) 2018.08.29
JAVA Method 클래스  (0) 2018.08.29
Spring PostConstruct 어노테이션  (0) 2018.08.29

+ Recent posts