1991년 썬 마이크로시스템즈의 엔지니어들에 의해서 고안된 오크(Oak)라는 언어에서 시작됨
특징
1. C, C++언어와 문법적으로 유사하다.
2. 포인터, 다중상속, 구조체 사용등을 사용하지 않거나 사용하더라도 단순한 문법을 구사한다.
3. 객체지향이다. (객체의 특징을 클레스로 구현)
- 클래스로 구현된 프로그램은 다른프로그램에서 재사용이 가능 (상속)
- 캡슐화를 거치면 그안에 코드를 몰라도 사용 가능 (캡슐화)
- 같은 객체를 가지고도 다양하게 상속하여 사용 (다형성)
4. 플랫폼에 독립적이다. (자바 프로그램이 jvm에서 실행)
5. 컴파일러와 인터프리터 언어의 두가지 특징을 모두 갖는다.
- 소스 -> 컴파일러 -> 바이트코드 -> 인터프리터 -> 실행
6. 네트워크와 분산처리를 지원한다.
- 네트워크 기반 프로그래밍함수가 많음
- 네트워크에 연결하여 서로 통신을 하면서 동시에 일을 처리하는것을 지원
7. 견고하며 안전하다.
- 포인터를 사용하지 않음.
- 엄격한 데이터형 검사
8. 자동으로 메모리관리를 해준다.
9. 멀티 쓰레드를 지원한다.
10. 동적 로딩을 지원한다.
프로그램 기본 구조
- 파일의 이름은 public class와 일치해야하며 한 파일에서 public class는 단 1개여야 한다. 만약 public class가 없다면 소스파일의 이름은 소스파일 내의 어떤 클래스의 이름으로 해도 상관없다.
- public static void main(String argv[]) : 메인 메소드의 선언부이다.
문법
1. 변수
- 알파벳 대소문자, 숫자, _, $만 사용할 수 있다.
- 첫문자 : 숫자는 올 수 없다.
- 예약어를 사용할 수 없다.
- 길이제한이 없다.
boolean 표현범위 true, false
char 표현범위 \u0000 ~ \uffff
int 표현범위 -2147383648 ~ +2147383647
long 표현범위 -9223372036854775808 ~ +9223372036854775807
정수의 기본데이터형 int / 실수의 기본 데이터형 double. 즉 long 데이터를 넣어줄때는 L을 붙여서 long데이터임을 알려줘야한다. 또한 float의 경우도 f를 붙여서 알려줘야한다.
byte -> short -> (char->)int -> long -> float -> double
-> 자동형변환
<- 강제형변환
2. 상수
final PI = 3.14;
관례상 상수명은 모두 대문자로 표시된다.
3. 배열
int a[] = new int[]{11, 22, 33}
* 배열의 길이는 지정 못함.
a.lenth; 배열의 길이 리턴
int[][] a = new int[2][3]
int a[][] = new int[2][] / a[0] = new int[3] / a[1] = new int[3]
4.
'교과 과목' 카테고리의 다른 글
네트워크와 프로토콜 (0) | 2016.07.10 |
---|---|
컴퓨터의 구성과 동작원리 (문서화) (0) | 2016.07.10 |
멀티미디어 정보의 표현 (문서화) (0) | 2016.07.10 |
고등 1학년 컴퓨터일반 (중간) (0) | 2016.05.02 |
고등학교 1학년 네트워크 기초 정리 (중간) (1) | 2016.05.01 |