Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- db
- oracle
- Java문자열 클래스
- 자바 try-catch
- 자바 스트링클래스
- database
- Express
- 자바 문자열 클래스
- 자바 Wrapper클래스
- 자바 Random클래스
- DBMS
- Java 추상 메서드
- 자바 추상메서드
- java super( )
- 자바 예제
- Java다운캐스팅
- Java추상클래스
- 코딩
- Java 내부 클래스
- Java업캐스팅
- 데이터베이스
- 오라클
- nodejs
- 자바 내부 클래스
- 자바 String클래스
- Java thorw
- Java객체배열
- dbeaver
- Java try-catch
- 자바 제어문
Archives
- Today
- Total
코딩이란 무엇일까
Java/자바[10일차](3)-생성자 본문
생성자
생성자란 클래스의 구성 멤버 중 하나입니다.
new 연산자로 클래스로부터 객체를 생성할 때 호출되며 객체의 초기화를 담당합니다.
생성자의 특징
- 보통 객체를 생성할 때 변수를 초기화하거나 필요한 다른 객체를 생성하는 등 작업을 처리할 때 사용합니다.
- 반드시 클래스 이름과 동일하게 작성해야 합니다.
- 모든 클래스는 생성자가 반드시 존재하며 하나 이상 정의가 가능합니다.
- 생성자 선언을 생략하면 컴파일러는 인자가 없는 기본 생성자를 실행합니다
기본 생성자
모든 클래스는 생성자가 반드시 존재합니다.
우리가 클래스 내부에 생성자 선언을 생략했더라도 컴파일러는
[public] 클래스( ){ }
와 같은 기본 생성자를 바이트 코드에 자동으로 추가합니다.
위의 내용으로 알수 있는 점은 클래스에서 분명 생성자를 선언하지 않았는데
BlogClass bc= new BlogClass();
이와 같은 형태로 쓸 수 있던 것은 컴파일러가 자동으로 생성자를 바이트 코드에 추가했기 때문인 것이죠!
기본 생성자 구조
클래스명(){
//객체의 초기화 코드
}
매개변수가 있는 생성자
매개변수가 있는 생성자는 말 그대로 생성자에 매개변수가 존재하는 것입니다.
생성자는 필드의 값을 생성자로 초기화해줄 수 있습니다.
기본 생성자 , 매개변수 생성자 사용해보기
클래스 부분
public class MyClass3 {
private int age;
private String name;
private double point;
//기본 생성자
public MyClass3() {
this.point=12.3; //기본 생성자도 필드 값 초기화 가능
}
//매개변수가 있는 생성자 :
public MyClass3(int age,String name) {
this.age=age;
this.name=name;
this.point=12.3;
}
ic String fields() {
return "이름 :"+name+",나이 :"+age+",포인트 :"+point;
}
}
생성자를 사용해서 객체 생성과 동시에 필드 값 초기화해보기
메인 메서드
public static void main(String[] args) {
//생성자 테스트 : 생성자는 필드 값을 초기화 하기 위해서 사용합니다.
//기본 생성자로 객체 생성
MyClass3 myA = new MyClass3();
System.out.println("myA :"+myA.fields());
//매개변수 생성자로 객체 생성
MyClass3 myB= new MyClass3(25,"쯔위");
System.out.println("myB:"+myB.fields());
MyClass2 myy= new MyClass2();
//생성자 정의가 없을 때에는 기본 생성자가 컴파일할 때 자동으로 포함됩니다.
}
출력 결과
⚠️ 추가적으로 매개변수가 있는 생성자를 정의해 주고 기본 생성자를 정의해 두지 않았다면
기본 생성자는 자동으로 생성되지 않습니다.
이상으로 글 마치겠습니다.
글 읽어주셔서 감사합니다.
'국비지원수업' 카테고리의 다른 글
java/자바[11일차]-(2)for-each문 (0) | 2022.11.03 |
---|---|
java/자바[11일차](1)객체 배열,메소드 오버로딩 (0) | 2022.11.03 |
Java/자바[10]일차(2)-Getter/Setter메서드 (0) | 2022.11.02 |
Java/자바[10]일차(1)-접근 제한자 (0) | 2022.11.02 |
java/자바[9일차]-클래스 (0) | 2022.11.01 |
Comments