지금껏 코딩언어 공부하면서 가장 헷갈리고 국비때도 발목잡은놈..ㅠ
// 필요한 부분 필기
p.237
* 객체 생성시점 때 외부에서 제공되는 다양한 값들로 초기화 되어야한다면,
클래스 작성할때 , 초기값을 줄 수 없고 / 객체 생성 시점에 다양한 값을 가져야함.
링크:
* 필드 와 매개변수 이름이 동일하면
생성자 내부에서 해당 필드에 접근할 수 없다.
> 동일 이름의 매개변수가 사용 우선순위가 높기 때문.
>> 해결방법
.필드앞에 'this.' 를 붙인다.
this.는 객체 자신을 참조. '나' 라고 하듯이 객체가 객체 자신을 this로 가리킨다.
* 필드들을 모두 생성자에서 초기화한다면 생성자의 매개변수는 객체의 필드 수만큼 선언하게 된다.
* 생성자 오버로딩 overloading
> 매개변수를 달리하는 생성자를 여러선언
( 생성자에서 당야한 요구 조건을 수용할 수 없어, 다양한 방법의 객체생성 )
ex1)
Car () {}
Car (string n) {}
Car (string n , int a ) {}
단, 매개변수 타입, 개수, 선언된 순서가 동일할 경우 생성자 오버로딩이 아니다.
링크:
* 다른 생성자 호출
this()
생성자 오버로딩이 많아질수록 생성자간의 중복된 코드가 발생.
매개변수의 수만 달리하고 필드초기화가 비슷한 내용인 현상.
필드 초기화
한 생성자에만 집중적으로 작성.
나머지 생성자는 초기화 내용이 가지고있는 생성자 호출.
// 중복된 코드를 줄이는 방법.
링크:
'코딩목록 B > JAVA' 카테고리의 다른 글
[JAVA] 배열 Array (0) | 2022.09.19 |
---|---|
[JAVA] 반복문 (0) | 2022.08.22 |
[JAVA] 자료형 (0) | 2022.08.22 |
[JAVA] 연산자 (0) | 2022.08.21 |
코드제 100 (1~8).java (0) | 2022.06.24 |