※ (자바)프로그램을 잘 하려면?
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();
}
}
'JAVA' 카테고리의 다른 글
#4 제어문 추가, 객체지향 특징, 접근지정자, 생성자, this (0) | 2018.11.23 |
---|---|
#3 자바 제어문, 클래스&메소드 복습, Escape Character, byte 단위 입력, 라인단위 입력 (0) | 2018.11.22 |
#2 자바 print, 구성, 조건문, 반복문 (0) | 2018.11.20 |
자바 환경설정 (0) | 2018.11.19 |
"오버라이딩 정의와 오버라이딩 규칙을 말할 수 있나요? (0) | 2018.09.03 |