Day10
드디어 두자리 숫자군! 오늘은 클래스의 구성멤버들인 필드, 생성자, 메소드를 배웠다. 역시나 어제와 마찬가지로 이론의 비중이 좀 높았는데 100% 이해했냐고 물어보면 잘 모르겠다... 강사님께서 원래 이 파트가 이해하기 어렵다고 하셨지만 그럼에도 이해하는게 가장 중요한 부분이라고 강조하셨기에, 어떻게든 내 것으로 만드는 과정이 필요할 것 같다. 이제 점점 학생들간의 격차가 발생한다고 하셨는데 내가 생각키에도 그런 것 같다. 뒤쳐지지 않도록 부단히 노력해야한다.
필드 선언
타입 필드 [= 초기값];
String company = "현대자동차";
String model = "그랜저";
String color = "검정";
int maxSpeed = 350;
int speed;
클래스 블록 안에서 정의된 변수를 필드라고 한다
1. 변수는 반드시 초기값을 주어야 사용할 수 있지만, 필드는 초기값 주지 않아도 된다
2. 변수의 생명주기, 유효범위는 변수가 선언된 블록이 시작되면 생성되었다가 블록이 끝나면 파괴.
필드는 클래스로부터 객체가 생성되고 객체가 파괴될때 사라진다.
필드의 기본 초기값 (초기값 지정되지 않은 필드)
객체 생성시 자동으로 기본값으로 초기화
정수타입 (int) : 0
실수타입 (double) : 0.0
논리타입 (boolean) : false
참조타입(배열, 클래스(String포함)) : null
*null : 참조할 객체의 주소가 없다는 뜻
필드 사용
객체 내부 : '필드이름'으로 바로 접근
객체 외부 : '변수.필드이름' 으로 접근
생성자
new 연산자에 의해 호출되어 객체의 초기화 담당
new 클래스();
필드의 값 설정
객체를 사용할 수 있도록 준비하는 역할 수행
기본생성자 (Default Constructor)
생성자 선언 안 하면 자바컴파일러가 자동으로 만든다 (있으면 개입x)
생성자는 클래스 이름과 무조건 똑같다
[public] 클래스() {}
[public]은 생략가능 (공개할거면 붙이고 아니면 말고)
생성자 선언
디폴트 생성자 대신 개발자가 직접 선언
클래스(매개변수선언, ...) { )
) -> 생성자 블록
} )
개발자가 선언한 생성자 존재시 컴파일러는 기본 생성자 추가x
필드 초기화
초기값 없이 선언된 필드는 객체가 생성될 때 기본값으로 자동 설정됨
다른 값으로 필드 초기화 하려면?
1. 필드 선언할 때 초기값을 설정
2. 생성자에서 초기값 설정
매개변수와 필드명 같은 경우 this 사용
*** this 키워드 정리된 블로그 -> https://hbase.tistory.com/150 ***
생성자 오버로딩
객체 생성할 때 외부 인자 값으로 필드 값을 초기화해야하는데
외부 값이 어떤 타입으로 몇개가 제공될지 모르므로 생성자도 다양화 해야한다!
생성자는 하나만 만드는게 아니고 몇개든 계속 만들 수 있다
매개변수의 타입, 개수, 순서가 다른 생성자 여러개 선언
'국비학원' 카테고리의 다른 글
[국비지원] KH 정보교육원 12일차 (0) | 2022.04.08 |
---|---|
[국비지원] KH 정보교육원 11일차 (0) | 2022.04.07 |
[국비지원] KH 정보교육원 9일차 (0) | 2022.04.05 |
[국비지원] KH 정보교육원 8일차 (0) | 2022.04.04 |
[국비지원] KH 정보교육원 7일차 (0) | 2022.04.01 |