생성자 4

[Java] this() - 다른 생성자 호출 2022.11.27

생성자 오버로딩이 많아질 경우 생성자 간의 중복된 코드가 발생할 수 있음 매개 변수의 수만 다르고 필드 초기화 내용이 비슷한 생성자에서 많이 발생 개션 방법 ) 필드 초기화 내용 ➡ 한 생성자에만 집중적으로 작성 나머지 생성자 ➡ 초기화 내용을 가지고 있는 생성자를 호출 생성자에서 다른 생성자를 호출할 때는 this( ) 코드를 사용 this() : 다른 생성자를 호출하는 코드로 반드시 생성자의 첫줄에만 허용 됨 this()의 매개값은 호출되는 생성자의 매개 변수 타입에 맞게 제공해야 함 this() 다음에는 추가적인 실행문들이 올 수 있음 호출되는 생성자의 실행이 끝나면 원래 생성자로 돌아와서 다음 실행문을 진행 this() 사용하여 중복 코드 제거 EX) Car(String model) { this...

[Java] 생성자 오버로딩 (Overloading) 2022.11.27

생성자 오버로딩 (Overloading) : 매개 변수를 달리하는 생성자를 여러 개 선언하는 것 외부에서 제공되는 다양한 데이터들을 이용해서 객체를 초기화하려면 생성자도 다양해야 함 EX) Car 객체 생성 - 외부에서 제공되는 데이터가 없다면 기본 생성자로 Car 객체 생성 - 외부에서 model 데이터가 제공되거나 model 과 color가 제공될 경우에도 Car 객체를 생성 할 수 있어야 함 생성자가 하나 뿐이라면 다양한 요구 조건을 수용할 수 없음 Java ➡ 다양한 방법으로 객체를 생성할 수 있도록 생성자 오버로딩 (Overloading)을 제공 생성자 오버로딩 EX) public class Car { Car {...} Car(String model) {...} Car(String model, ..

[Java] 생성자 2022.11.26

생성자 (Constructor) : new 연산자와 같이 사용되어 클래스로부터 객체를 생성할 때 호출되어 객체의 초기화를 담당객체 초기화 : 필드를 초기화하거나, 메소드를 호출해서 객체를 사용할 준비를 하는 것 생성자를 실행시키지 않고는 클래스로부터 객체를 만들 수 없음 new 연산자에 의해 생성자가 성공적으로 실행되면 힙(heap) 영역에 객체가 생성되고 객체의 주소가 리턴됨리턴된 객체의 주소는 클래스 타입 변수에 저장되어 객체에 접근할 때 이용됨* 생성자가 성공적으로 실행되지 않고 예외(에러)가 발생하면 객체는 생성되지 않음  기본 생성자모든 클래스는 생성자가 반드시 존재하며, 하나 이상을 가질 수 있음클래스 내부에 생성자 선언을 생략➡ 컴파일러가 중괄호 { } 블럭 내용이 비어있는 기본 생성자 (D..

[Java] 클래스의 구성 멤버 2022.11.21

클래스에는 객체가 가져야 할 구성 멤버가 선언됨 클래스의 구성 멤버 1) 필드 (Field) 2) 생성자(Constructor) 3) 메소드 (Method) 구성 멤버들은 생략되거나 복수 개가 작성될 수 있음 필드 (Field) 객체의 고유 데이터, 부품객체, 상태 정보를 저장하는 곳 선언 형태는 변수(variable)와 비슷하지만, 필드를 변수라고 부르지 않음 변수 : 생성자와 메소드 내에서만 사용되고 생성자와 메소드가 실행 종료되면 자동 소멸 필드 : 생성자와 메소드 전체에서 사용되며 객체가 소멸되지 않는 한 객체와 함께 존재 생성자 (Constructor) new 연산자로 호출되는 특별한 중괄호 { } 블록 객체 생성 시 초기화를 담당 ➡ 필드를 초기화하거나, 메소드를 호출해서 객체를 사용할 준비 ..