| static 메서드와 인스턴트 메서드
인스턴트 메서드는 이미 객체가 호출되었으므로 인스턴스 변수 사용가능
static 메서드는 항상 호출가능
객체 없을 수 있으므로 인스턴스 변수 사용불가, 객체생성 후 가능
인스턴스 메서드(im) 호출할 수 없다
static 메서드 호출가능
인스턴스 멤버 (인스턴스 메서드, 인스턴스 변수)
| 오버로딩
한 클래스 안에 같은 이름 메서드를 여러 개 정의하는 것
void println()
void println(boolean x)
void println(char x)
오버로딩으로 조건
메서드 이름이 같아야 한다(작업동일)
매개변수 개수 또는 타입이 달라야
반환 타입은 영향 없다
| 생성자
인스턴스가 생성될 때마다 호출되는 '인스턴스 초기화 메서드'
Time t = new Time(12, 30, 20);
리턴값이 없고, void를 안 붙임
기본생성자
Point( ) { }
class Date_1 { //생성자가 하나도 없는 경우에는 컴파일러가 기본생성자 자동추가
int value;
}
class Data_2 {
int value;
Data_2( ) { } //기본생성자 추가필요
Date_2(int x) {
value = x;
}
}
class Ex6_11
public static void main(String[] args) {
Data_1 d1 = new Data_1( );
Data_2 d2 = new Data_2( );
}
}
class Car {
String color;
String gearType;
int door;
}
Car ( ) { }
Car c = new Car("white", "auto", 4);
| 생성자 this( ), 참조변수 this //무관
생성자에서 다른 생성자 호출시 사용, 코드의 중복제거
다른 생성자 호출시 첫 줄에서만 사용가능
선언없이 사용가능
class Car {
String color;
String geartype;
int door;
Car2( ) {
this("white", "auto", 4); //아래코드와 중복방지
}
Car(Stirng c, String g, int d) {
color = c;
geartype = g;
door = d;
}
}
참조변수 this
인스턴스 자신을 가리키는 참조변수, 인스턴스 메서드와 생성자에서만 사용가능
lv와 iv 구별에 사용
Car(Stirng color, String geartype, int door) {
this.color = color;
this.geartype = geartype;
this.door = door;
} //lv와 구별을 위해 iv에 this를 붙여야 한다. 같은 클래스내 생략가능(이름이 다른 경우)
| 변수의 초기화, 멤버변수(iv, cv)의 초기화
지역변수는 수동 초기화 필요
class InitTest {
int x;
int y = x; //iv, 자동초기화(null, false, 0)
void method1( ) {
int i = 0;
int j = i; //lv, 수동초기화
}
}
멤버변수의 초기화
0. 자동초기화
1. 명시적 초기화: 대입연산자
int door = 4; //기본형 초기화
Engine e = new Engine(); //참조형 초기화
2. 초기화 블럭: { }, static { }, 복잡한 초기화
3. 생성자: iv 초기화, 복잡한 초기화
클래스 → 인스턴스 초기화
자동, 간단 → 복잡 초기화
'Java' 카테고리의 다른 글
14 [인강] 자바의정석 ch07 (0) | 2020.12.22 |
---|---|
13 [인강] 자바의정석 ch07 (0) | 2020.12.21 |
11 [인강] 자바의정석 ch06 (0) | 2020.12.18 |
10 [인강] 자바의정석 ch06 (0) | 2020.12.17 |
9 [인강] 자바의정석 ch05 (0) | 2020.12.16 |
- 웹페이지만들기
- gradle
- 정보처리기사
- 북클럽
- LifecycleException
- 기술블로그
- AWS
- 오늘의코딩
- filezila
- 개발도서
- SQLD
- 노마드코더
- 배포
- ubuntu
- intellij
- 독서후기
- EC2
- jdbc
- 실용주의프로그래머
- git연동
- 정보처리기사 필기
- 호스팅영역
- java
- IT 5분 잡학사전
- 노개북
- JIRA
- putty
- 정보처리기사 실기
- spring
- gradle build
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |