본문 바로가기

JAVA

#1 자바?

※ (자바)프로그램을 잘 하려면?


1. 프로그램의 구성 요소

- 필드(field,변수) : 데이터 속성, 자료구조, 데이터를 담는 그릇

- 메소드(method, 함수) : 기능, 행위

- 클래스(class) : 자바프로그램 기본단위(파일)

: 필드와 메소드를 담는 울타리(template)


2. 구성요소 구분

- 변수,필드     첫글자 소문자, 단어뒤에 ()소괄호 포함X

- 메소드     첫글자 소문자, 단어뒤에 ()소괄호 포함O

- 클래스     첫글자 대문자

System.out.println();

클래스 필드 메소드


3. 구성요소 형식

- 변수

형식)

자료형 변수명;

----> 변수 선언!!

커피 v1; ----> 변수선언

v1=커피; ----> 변수초기화(할당)!!

- 메소드

리턴자료형 메소드명(매개변수)

{//메소드 시작

}//메소드 끝

※ 리턴자료형(리턴형,return dateType, returnType)

- 메소드를 실행한 결과 데이터를 표현

- 기본자료형8개 + 클래스자료형 + void(결과데이터 없음 표현)

※ 매개변수(인수,인자,argument,parameter)

- 메소드 호출시 전달되는 데이터를 표현

- 외부에서 전달되는 데이터

void gildong()

{

1.문앞으로 이동;

2.문열기;

3.(제자리로) 되돌아오기;

===> return; ==> 생략가능

}

Coffee lime()

{

1.자판기앞으로 이동;

2.동전투입;

3.커피버튼클릭;

4.커피를 갖고 되돌아오기;

===> return 커피; ==> 생략불가능

}

Cola juwon(int coin)

{

1.코인전달받기;//int coin;

2.자판기앞으로 이동;

3.동전투입;

4.콜라버튼클릭;

5.콜라를 갖고 되돌아오기;

===> return 콜라;

}

- 클래스

class 클래스명

{

자료형 변수명;//변수선언

리턴자료형 메소드명() ===> 메소드 정의,구현 (메소드 define)

{

}

}

4. 구성요소 사용법

[필드사용]

변수명 = 데이터; //변수 초기화(값할당)

[메소드사용]

===> 호출해서 사용!!

===> 메소드 호출식: 메소드명();

[클래스사용]

===> 객체생성(메모리할당)해서 사용!!

★객체생성식★

A obj = new A();

클래스명 변수명 클래스명

====> A클래스 객체생성!!

====> A클래스를 사용할 준비가 되었다는 의미

-->실제는 필드와 메소드를 사용!!


※ 자바 주석문(설명문,Comment)

1. 라인주석문

// comment1

// comment2

2. 블럭주석문

/*

comment1

comment2

comment3

*/

※ 식별자 이름 규칙(변수명, 메소드명, 클래스명에 적용)

- 첫글자 숫자 불가능.

cup1, cup2 (O)

1cup, 2cup (X)

int su1;

int su2;

int 1su;

int 2su;


- 특수문자 사용불가

cup@ cup% (X)

----> 예외) _, $ 사용가능

String name;

String studentName;

String student_name;


- 한글사용가능(비권장)

String 이름;


- 예약어 사용 금지

int class;

int public;

int if;


※ 자바자료형 (기본자료형 + 클래스 자료형)

문자 - char

char ch; ---> ch라는 변수명으로 문자데이터를 저장(할당)하겠음!!

ch='a';

변수명=데이터;

ch='홍';

ch='3';

ch='길동'; (X) ---> 작은따옴표에 두개이상의 문자가 올 수 없음!!

String ----> 문자열(문자의 나열: 0개 이상의 문자를 표현할 때 사용)

String str;

str="홍길동"; (O)

str="홍"; (O)

str=""; (O)

str='길'; (X)


숫자

- 정수

byte - 1byte: 8bit ----> 2의 8승 (256개의 수를 표현)

----> -128~0~127

byte b;

b=13;

b=127; (O)

b=-128; (O)

b=128; (X)

short - 2byte

int - 4byte

long - 8byte


- 실수

float - 4byte

double - 8byte

-논리 boolean (참 또는 거짓을 담는 자료형)

boolean b1;

b1= true; (O)

b1= false; (O)

b1='true'; (X)

b1="false";(X)

--------------------------------------------------

문자: char,String

숫자: byte,short,int,long float,double

논리: boolean


#Test

class A

{

//변수선언

int su;

//su=20; 변수초기화(X)

int su2=30;

void hello()//메소드 정의

{

System.out.println("A클래스 안녕~!!");

}

}//class A

class B

{

void hello()

{

System.out.println("B클래스 안녕~!!");

}

}//class B

class MethodCallTest

{

public static void main(String args[])

{

A obj = new A();//A클래스를(A클래스내의 필드와 메소드에 대한 메모리할당) 사용할 준비가

되었다

//obj: 주소변수, 레퍼런스변수, 참조변수

//obj.필드명 obj.메소드명();

//obj.~ : A클래스에 있는~

//메소드 호출!! ===> 메소드명();

obj.hello();

B b = new B();

b.hello();

}

}