목차
1. 메서드
2. 클래스사용
1) 사용
2) 데이터 접근 범위
3) 생성자
도구함(클래스)의 도구(메서드)를 쓰기 위한 준비
static mathod
값 ::
instance method
인스턴스 메서드 사용하려면
Date d = new Date();
new
: 도구함의 도구를 쓸 수 있도록 설정하기d
: 설정된 데이터를 가리키는 변수d.getYear()
d
: 설정된 정보를 가리키는 변수 ( = 참조변수 = reference)void processBoardList() {....}
processBoardList : 메서드명 : 행위를 나타내는 동사구 형태의 이름
() : 파라미터 목록 >>> 작업 수행에 필요한 데이터를 받을 변수
{....} : 메서드 몸체(=body) >>> 작업을 수행하는 코드
void : 리턴 타입 >>> 작업 완료후 결과 값의 리턴 여부
void : 값을 리턴 안함
그 외 다른것 : 리턴하는 값의 타입
변수 = 메서드명(값, 값, ...);
메서드명 : 실행할 메서드
값, 값, ... : 메서드 파라미터에 전달할 값 = argument
변수 : 메서드가 값을 리턴할 경우, 그 값을 받을 변수 (값을 받지 않아도 된다.)
class Board {
int no;
String title;
String content;
}
new Board()
Board설계도에 따라 변수를 준비한다.
마치 배열메모리처럼(?)
값 할당 :b.no = ~~;
Board b1 = new Board();
b1.no = 100;
// b1배열의 0번째가 아니라
// b1배열의 no번째에 100을 넣어라.
클래스 레벨
java.lang. 패키지의 클래스는 몽땅 생략해도 된다.
그 외 모든 다른 패키지의 클래스는 패키지명을 명시하지 않으면 컴파일 오류 발생함.
!!! java.lang.*. 아래의 패키지 클래스, 즉 하위 패키지의 클래스는 생략할 수 없다!!
Score s1 = new Score();
s1.name
s1객체의 name 필드 = s1의 name 필드
Score.compute(s1)
// Score : 클래스명
// s1 : 데이터가 있는 인스턴스 주소
s1.compute()
// s1 : 인스턴스 주소
new 연산자를 이용하여 인스턴스를 만들 때 자동으로 호출되는 특별한 문법의 메서드
- 메서드 명은 클래스 이름과 같아야 한다.
- 리턴 타입은 없다.
- 오직 new 명령을 실행할 때 호출할 수 있다. 나중에 따로 호출할 수 없다.
- public : 모두 공개
- protected : 같은 패키지 + 자식 클래스
- (default) : 같은 패키지
- private : 그 멤버를 가지고 있는 클래스 안에서만 접근 가능
void m4(int value) {
// 로컬 변수의 이름이 인스턴스 이름과 같을 경우
// this를 붙이지 않으면 로컬 변수를 가리킨다.
value = 200; // 로컬 변수이다.
this.value = 300; // 인스턴스 변수이다.
// 따라서 로컬 변수가 아닌 인스턴스 변수를 가리키고 싶으면 this를 붙여야 한다.
}
Object : 객체라면 기본적으로 가져야할 필드와 메서드.
Object 의 메서드 ::
Object클래스를 상속받은 클래스인 Member~~
Object obj = new String();
obj.~~
를 할 때 Object클래스 의 메서드 사용가능.