'Web Programmer/Java 기초'에 해당되는 글 3건
- 2008.05.28 Java 언어 소개 및 자바의 특징
- 2008.05.28 기본 형식 및 주석, Print 간단 설명
- 2008.05.28 변수
<1> 역사
1> 1991년 sun사 Green Project 출범-James Gosling을 주축으로 Oak라는 언어 개발
[가전기기에서 사용할 목적]? 하드웨어 독립적인 언어로 구상됨
2> 1995년 : sun사와 netscape사 협약
3> 1996년 : 자바 지원 netscape 2.0 발표
4> 1997년 : jdk1.1 발표
5> 1998년 : jdk1.2 발표
6> 2000년 : jdk1.3 발표
7> 최근 : jdk1.4/ 5.0 / 6.0beta버전 발표
<2> 자바 언어의 특징
1> 플랫폼 독립성 : JVM(Java Virtual Machine)이 해당 플랫폼마다 제공되어져,
이를 설치하면 어떤 운영체제에서 작성된 자바 파일이든지 동일한 실행을 제공한다.
2> 객체 지향언어 : 재사용성, 유연성, 프로그램 생산성 향상
3> 멀티 스레드 지원 : Thread는 Process보다 작은 단위로 동시 다발적으로 작업
수행이 가능.
4> 자동 메모리 관리-Garbage Collector(쓰레기 수집기)
5> 동적인 성능 확장 제공: Applet
<3> 주석
// 내용 - 단문 주석 : 한 줄만 주석 처리
/* 내용 */ - 장문 주석 : 여러 줄을 주석 처리
# 기본 java 형식 #
import java.lang.System;
// 패키지 참조문 : 여러가지 명령어를 사용하기 위해 참조하는 패키지를 입력하는 방법
// 입력 방법 : import 패키지경로.클래스명
public class Hello // 클래스의 이름은 파일 이름과 동일해야 되며 동일 하지 않을 경우
// 컴파일 오류가 나온다.
{ // class Start
// Main() Method
public static void main(String[] args)
// Main Method는 기본적으로 다 존재한다.
{ // Main Method Start
System.out.print("Hello Java!");
System.out.print("안녕하세요?");
// 화면에 문자를 출력하기
// 본문엔 java 파일이 컴파일 후 실행될 내용을 담는다.
} // Main Method End
} // Class 종료
# 주석 종류 #
// : 한줄 주석, 해당 줄만 주석을 달아준다.
/* <시작 부위> */ <종료부위> 여러줄 주석, 안에 들어가는 모든 줄을 주석으로 만들어 준다.
# print 기능 및 옵션 #
System.out.print("내용");
// 내용을 출력한다. 단, 이 뒤에 오는 print 문이 있다면 바로 붙여서 결과가 출력된다.
<예> System.out.print("Hello ");
System.out.print("Java!");
<결과> Hallo Java!
System.out.println("내용");
// 위와 동일하게 내용을 출력한다. 단, 이 뒤에 오는 println 문이 있으면 한칸 아래로 출력한다.
<예> System.out.println("Hello ");
System.out.print("Java!");
<결과> Hallo
Java!
System.out.println("내용"+"escape 문자열");
System.out.println("escape 문자열 내용);
System.out.println("내용 escape 문자열);
+ 역슬래시(\) : escape 문자열이라고도 부르며, 특수 문자를 출력하거나 여러 옵션
을 실행한다. 종류는 아래와 같이 총 5가지이다.
1. \n : 개행, 스크린 커서 위치를 다음 줄의 처음으로 옮긴다.
2. \t : 수평탭, 스크린 커서를 다음 탭으로 옮긴다.(\t 하나는 Tab 한번 누른 것과 동일한
효과를 낸다.)
3. \r : 캐리지 리턴, 스크린 커서를 다음 탭으로 옮긴다. 개행하지 않고, 이 기호 다음에 오는
문자를 덮어 씌운다.
4. \\ : 역슬래시(\)를 출력할때 사용한다.
5. \" : 문자열을 나타내는 큰 따옴표를 문자로 출력할때 사용한다.
+ 주의사항 : 역슬래시는 무조건 문자열 안에 넣어서 사용해야 된다. 문자가 없는 경우엔 큰
따옴표로 escape 문자열만 넣어준다.
<예1> System.out.print("java"+"\n");
System.out.println("Hello!");
<결과> java
Hello!
// escape 문자열이 없을 경우 붙어서 출력된다. 그러나 옆의 \n 즉 escape 문자열이 있을
경우 그 escape 문자열의 기능이 실행된다. \n의 경우 Hello!를 java의 다음줄에 출력해
준다. 동일 기능은 println이 동일한 기능이다.
<예2> System.out.print("java"+"\t");
System.out.print("Hello!");
<결과> java Hello!
// escape 문자열이 없을 경우 바로 붙어서 출력된다. 하지만 \t가 있을 경우 tab 만큼의 빈칸
을 넣어 주고 출력된다.
int x, y = 0;
System.out.println(x + y);
// 기본 자료형에서는 println이나 print 안에 들어가는 +는 변수간의 더하기 연산을 의미한다.
<예> int x = 1;
int y = 1;
System.out.println(x + y);
<결과> 2
더하기 연산이 되어서 2가 출력된다.
int x = 0;
System.out.println("내용 : " + x);
// 문장인 내용과 함께 기본 자료형이 +로 이어진다면 더하기 연산이 아닌 문장열의 결합으로
결과를 표시한다.
<예> int x = 0;
System.out.println("x 값 : " + x);
<결과> x 값 : 0
int x = 0;
int y = 0;
System.out.println(x + y + "내용");
// 기본자료형+ 문자형의 더하기 연산은 문자열 결합으로 귀결된다.
<예> int x = 10;
int y = 50;
System.out.println(x + y + " = 합");
<결과> 60 = 합
// 제일 먼저 x와 y의 더하기 연산이 실행되고 그다음에 = 합과의 문자열 결합이 실행된다.
int x = 0;
int y = 0;
System.out.println("내용" + x + y);
// 문자형 + 기본자료형의 더하기 연산은 문자열 결합으로 실행된다.
<예> int x = 10;
int y = 50;
System.out.println("합 = "+ x + y);
<결과> 합 = 1050
// 제일 먼처 문자형의 문자열 결합이 먼처 실행 됬기 때문에 나머지 뒷 부분도 다 문자열 결합
으로 실행된다.
int x = 0;
int y = 0;
System.out.println("내용" + (x + y));
// 문자형 + 기본자료형이나 기본자료형에 가로를 넣어주면 먼처 기본자료형의 더하기 연산을
실행한 후 내용과의 문자열 결합을 실행한다. () = 우선순위를 올려주기.
<예> int x = 10;
int y = 50;
System.out.println("합 = "+ (x + y));
<결과> 합 = 60
// 제일 먼처 가로에 들어있는 기본자료형의 더하기 연산이 실행되고 그 다음에 문자열과의 결
합이 실행된다.
# 변수 #
1> 변수의 의미 .. 변수명의 바구니에 저장 공간을 할당하고 그 곳에 값을 저장하
는 공간의 위치를 의미.
쉽게 말하자면 상품을 팔기 위해 할인점에서 진열 자리를 준비하고 그곳에 물건
을 진열 하는 것과 마찬가지.
2> 변수의 종류
<1> 멤버 변수(instance 변수)
Static으로 선언되지 않은 모든 변수를 인스턴트 변수라고 부른다. 클래스의
인스턴스와 연관, 생성된 모든 객체는 자신만의 복사본을 가진다.
<예> int a = 10; //멤버 변수의 경우 객체 명으로 접근한다.
<접근 방법> 객체 명을 선언 뒤 값을 주는 방법으로 접근 .. a+=10;
// a에 10을 더하라는 소리.
<2> 클래스 변수(static 변수)
클래스의 인스턴스가 아니라 그것이 정의된 클래스와 연관된다.
static 한정자는 이 변수가 클래스 필드 임을 의미하며, 상수를 정의하는 것이
클래스 필드의 일방적인 사용.
정적 필드의 복사본은 오직 한 개 존재하며 전역 변수로 사용되고, 같은 클래
스 내부에서는 변수 명으로 지칭되며 클래스 외부에서 해당 변수를 유일하게
지칭하기 위해서는 클래스명.변수명으로 인스턴스를 생성하지 않고도 직접
참조가 가능(인스턴스를 만든 후 객체 참조변수.변수명의 참조도 가능.
<예> static int b=10;
<접근 방법> 내부에서는 변수명으로 접근 가능, 외부에서는 클래스명.변수명
으로 접근.
<3> 지역 변수(local 변수, automatic 변수)
Method 안에서 선언되며 사용되는 변수를 지역변수라 말한다. 지역 변수는
다른 Method에서 중복 선언 할수 있으며, 선언된 Method에서만 사용이 가
능하기 때문에 지역 변수라 불린다.
<예> public MyDemo() {
int x;
}
<접근 방법> 내부에서는 변수명으로 접근 가능.
<4> 자바의 지역 변수는 반드시 초기화하고 사용해야 하고, 멤버와 클래스 변수
는 초기화 않해도 디폴트 값이 기본적으로 들어간다.
3> 변수의 이름 짓기 규칙
<1> 영문자와 숫자를 섞어서 쓸수 있으나 첫 글자가 숫자로 시작되어선 안된다.
<잘못된 변수 선언의 예> int 9nine;
<2> 한글/한자도 변수명으로 사용가능, 특수 문자는 변수로 사용할 수 없으나,
일부 특수문자(언더바(_), $는 식별자로 사용 가능.
<잘못된 변수 선언의 예> int key&bar;
<3> 여러 명령어 같은 예약어는 사용할 수 없다.
<잘못된 변수 선언의 예> int char;
<4> 변수명은 명사형으로 지으며, 소문자로 시작. 이것을 꼭 지킬 필요는 없다.