Computer(IT)/JAVA

java 특징

약탄치킨 2010. 1. 15. 19:35
반응형

1. 다른 언어에 비해 배우기 쉽다.

2. 플랫폼에 독립성: 서로 다른 OS나 플랫폼 에서 프로그램이 동작 한다.

3. 객체지향 프로그래밍

4. Multi Thread 지원: C와 다르게 Multi Thread을 따로 구현 할 필요가 없다. 지원해준다.

5. Garbage Collection: C와 다르게 프로그래머가 아닌 메모리 관리를 JVM이 알아서 관리를 해준다.

6. 동적 로딩: CPU 자원을 프로그램 실행 중에 필요할 때 할당 받아 실행한다. 자동으로 지원하기

   때문에 프로그래머가 설정해줄 필요가 없다. C와 같은 경우는 프로그래머가 직접 설정해줘야 함.

   

 

JAVA 플랫폼 구성

   

하드웨어 기반 플랫폼 -> 프로그래밍. 소스 코딩부분

자바 가상 머신 -> .CLASS 파일 생성. Garbage Collector가 실행되어 메모리 작업이 실행됨

자바 API -> API기술에 맞게 데이터가 변형이 되어 컴파일 된다. API는 www.java.sun.com 기술됨

xxx.JAVA -> 컴파일 된 파일이 생겨남.

JVM은 Java Compiler 로 만들어진 Byte Code를 해석하고 실행하는 가상 머신.

   

 

자바 명명 규칙 (프로그래머 간)

 

1. 클래스 명을 정의 시 첫 문자는 대문자가 되도록 한다. 한 단어 이상이 합쳐질 때 각 첫 글자 마다

    대문자로 선언해 준다. 예) class JavaText

2. 변수와 메서드 정의 시 첫 문자는 소문자가 되도록 한다. 한 단어 이상이 합쳐질 때 두 번째부터

    오는 단어의 첫 문자들만 대문자로 표현한다. 예) int exampleText

3. 상수는 모든 단어를 대문자로 정의 한다. 예) int MAXARRY=10;

4. 예약어들은 이름으로 정의 할 수 없다. 예) in tint; 틀림. Int 예약어

5. 변수나 클래스 정의 시 숫자가 이름의 첫 글자가 될 수 없다. 예) int 1a; 틀림.

6. 대소문자를 구분한다.

7. 특수문자는 ' _ ' 나 ' $ ' 는 이름으로 사용할 수 있다.

8. API에 정의된 클래스들은 이름으로 사용할 수 없다.

   

 

기본 데이터 형 (32bit System)

데이터 형

키워드

크기

기본값

표현 범위

논리형

Boolean

1bit

False

True , False

문자형

Char

2byte

\u0000

0 ~ 65,535

정수형

Byte

1byte

0

-128 ~ 127

 

Short

2byte

0

-34,768 ~ 32,767

 

Int

4byte

0

-2,147,483,648

~ 2,147,483,647

 

Long

8byte

0

-9,223,372,036,854,775,808

~9,223,372,036,854,775,807

실수형

Float

4byte

0.0

-3.4E38 ~ 3.4E38

 

Double

8byte

0.0

-1.7E308 ~ 1.7E308

 위와 같은 기본 데이터 형 외에 사용자 직접 정의한 참조 형 데이터로 나눌 수 있다. 참조 형은

API에 정의 되어 있는 클래스도 포함된다.

   

 

기본 Console 출력 프로그램

 

Java.lang 패키지의 있는 모든 클래스들은 기본적으로 아무런 명령어 없이 바로 사용할 수 있다.

System 클래스 역시 java.lang 패키지에 포함되어 있는 기본 클래스이다.

기본 출력문인 System.out.println(); 와 같이 println 메서드로 콘솔 창에 출력 할 수 있다.

변수의 출력의 경우 System.out.println(변수명); 과 같이 변수의 내용을 출력할 수 있다.

문자열의 출력의 경우 System.out.println("문자열 리터럴"); 과 같이 문자열을 출력 할 수 있다

문자열과 함께 변수를 출력하는 경우 System.out.println("문자열"+a); 와 같이 문자열과 변수를

출력할 수 있다. 이때 + 사용이 된다. 이 구문으로 문자열과 변수를 + 연산하여 문자열로 변환 후

출력 하는 것을 알 수 있다. 변수 a와 b가 있을 경우 두 개의 변수를 출력하고자 한다면 빈 문자열

인 ""를 활용 할 수 있다.System.out.println(""+a""+b); 와 같이 하나의 문자열로 만들어 출력을

구현 할 수 있다. 이때 사용 되는 .(닷) 연산자는 클래스 내부 멤버를 접근하는 멤버접근 연산자이다.

   

 

데이터 캐스팅 ( 데이터 형 변환)

 

자신의 데이터 형을 다른 데이터 형으로 형 변환을 하는 작업을 캐스팅이라 한다. 프로모션은 자신의

데이터 형 보다 더 큰 자료 형으로 변환하는 캐스팅이며 컴파일러에 의해 자동으로 실행되는 변환

이다. (암시적 형 변환) 이때 작은 데이터에서 큰 데이터 형으로 바뀌므로 정보 손실이 없다. 디모션의

경우 자신의 데이터 형보다 더 작은 자료 형으로 변환하는 경우이며 프로그래머에 의해 명시적 형

변환이 필요하다. 큰 데이터 형을 작은 데이터 형으로 변환하는 것으로 정보 손실의 가능성이 있다.

실수 형이 정수 형으로 데이터 형 변환이 일어나는 경우 소수점 이하의 수는 모두 버린다.

(반올림 하지 않는다) 또한 자신이 표현할 수 있는 최대 값을 넘는 데이터를 입력 받게 되면 데이터

오버플로우 현상에 의해 자신이 표현 할 수 있는 최대값 이후 다시 0 부터 시작되어 수를 표현하게

된다. 따라서 정확한 값을 출력할 수가 없다. 이런 경우 컴파일러는 알려 주지 않기 때문에 항상

생각해야 한다.

   

 

연산자

 

연산자에는 우선순위가 있으므로 연산 시 그 순위에 의하여 연산순서가 정해진다.

산술연산에는 +, -, *, /, % 연산자가 있다. 이중 %는 나머지를 구하는 연산자이며 다른 연산은 수학의

연산과 다르지 않다. 

증감 연산자는 해당 변수의 값을 1 증가 ++ 연산자와 1감소 -- 연산자가 있으며 변수의 앞과 뒤에 선언하는 것에 대해 차이가 발생한다. ++a 와 같이 앞에 있는 경우 변수를 사용 전에 1증가 후 사용하도록

하는 것이고 a++과 같이 뒤에 붙는 경우 변수를 사용 후 증가하게 된다.

대입 연산자의 종류에는 = , +=, -=, *=, /=, %= 연산자가 있으며 연산자를 중심으로 오른쪽 변수 값을

왼쪽 변수에 대입한다. += 의 경우a+=10 은 a=a+10 과 같이 해석된다.

논리연산자에는 && || ! 연산자가 있다. AND 연산인 && 의 경우 두 조건이 모두 TRUE 일 때 TRUE가 된다. 또한 OR 연산인 ||의 경우 한 개의 항목이 TRUE인 경우 TRUE를 반환한다. NOT 연산자 !

은 현재 논리를 부정하는 연산을 수행한다. AND 연산자의 경우 앞의 조건이 FALSE 일 때 뒤에

건을 실행을 하지도 않으며 OR 연산은 앞의 조건이 TRUE 일 때 뒤에 나오는 조건을 실행하지도

않는다. 따라서 사용 시 주의해야 한다.

관계 연산자에는 >, <, >=, <=, ==, != 연산자가 있다.

여기서 == 는 서로 같다 라는 의미이고 != 의 경우 서로 같지 않다는 의미이다.

[출처] JAVA의 특징|작성자 stryper_top

반응형