티스토리 뷰
생성자
반환형(ex.void , int 등등)을 선언 할 수 없는 특수한 메서드
메서드명 = 클래스명
메서드 오버로딩을 지원한다.
주소생성할때 딱 한번 호출가능( 주소로 차후 호출불가능-다른메서드랑 다른점)
// 클래스에 생성자가 선언되어 있지 않은경우
this()
:생성자 호출하는 명령어
* this()는 '생성자'(메소드안됨)의 '첫번째'줄에서만 호출가능! (여백은 상관없음)
class A{
A(int a){
this("aaa"); // A("aaa");
System.out.println(1);
}
A(String a){
this(200,"bbb"); // A(200,"bbb");
System.out.println(2);
}
A(int a, String b){
System.out.println(3);
}
}
class B{
public static void main(String[] args){
A o1=new A(100);
}
}
객체지향프로그램 3단계
객체란 속성과 기능을 가진것.
객체란 유무형의 모든것을 의미
ex) 자동차객체, 학사시스템객체
자동차
속성(멤버변수): 바퀴,엔진, 색상,브랜드,소유주...
기능(메서드): 달린다,.멈춘다, 기름을 더 넣는다 ...
class 자동차{
int 바퀴수;
String 색상, 브랜드;
사람 소유주;
void 달린다(){}
void 멈춘다(){}
}
class 사람{
String 지역,이름;....
}
자동차 변수1=new 자동차();
변수1.바퀴수=4;
변수1.달린다();
자동차 변수2=new 자동차();
변수2.바퀴수=6;
생성자를 선언하는 이유는? 객체의 필드값 세팅!!
맴버변수의 초기값
변수의 초기화 --> 변수에 최초의 값을 할당하는 것.
1.로컬변수는 초기화하지 않고 이용하려면 오류발생!
ex)class A{
public static void main(String[] args){
int a;
int b=a; // 컴파일에러
}
}
2. 멤버변수는 초기값을 지정하지 않아도 기본값이 있음
ex) 정수-->0 실수-->0.0 문자-->(공백) 논리-->false
참조형(배열,클래스,enum,인터페이스) --> null
## null 이란? -주소가 없다는 의미
- 배열의 초기값은 멤버변수의 초기값과 같다.
'LANGUAGE > JAVA' 카테고리의 다른 글
[JAVA] 접근제어자 (0) | 2017.11.15 |
---|---|
[JAVA] 상속 (0) | 2017.11.15 |
[JAVA] 배열 (0) | 2017.11.15 |
[JAVA] 메서드(Method) (0) | 2017.11.15 |
[JAVA] 조건문과 반복문 (0) | 2017.11.14 |