Codegym University 과정의 일부로 멘토와 함께하는 강의 스니펫. 전체 과정에 등록하십시오.


"이제 생성자에 대해 말할 시간입니다. 이것은 정말 간단한 개념입니다. 프로그래머는 개체를 만들고 초기화하는 속기 방법을 발명했습니다. "

생성자 없이 생성자와 함께
MyFile file = new MyFile();
file.initialize("c:\data\a.txt");
String text = file.readText();
MyFile file = new MyFile("c:\data\a.txt");
String text = file.readText();
MyFile file = new MyFile();
file.initialize("c:\data\", "a.txt");
String text = file.readText();
MyFile file = new MyFile("c:\data\", "a.txt");
String text = file.readText();
MyFile file = new MyFile();
file.initialize("c:\data\a.txt");

MyFile file2 = new MyFile();
file2.initialize( MyFile file, "a.txt");
String text = file2.readText();
MyFile file = new MyFile("c:\data\a.txt");


MyFile file2 = new MyFile(file, "a.txt");
String text = file2.readText();

"초기화 방법에 대한 학습을 ​​마쳤습니다..."

"더 자세히 보세요. 생성자를 사용하면 코드가 더 편리하고 간결해집니다."

"그렇습니다. 질문이 있습니다. 클래스 내부에 초기화 메서드를 작성하는 방법은 알고 있지만 생성자는 어떻게 작성합니까?"

"먼저 다음 예를 보십시오."

생성자 없이 생성자와 함께
class MyFile
{
  private String filename = null;

  public void initialize(String name)
  {
    this.filename = name;
  }

  public void initialize(String folder, String name)
  {
    this.filename = folder + name;
  }

  public void initialize(MyFile file, String name)
  {
    this.filename = file.getFolder() + name;
  }

…
}
class MyFile
{
  private String filename = null;

  public MyFile(String name)
  {
    this.filename = name;
  }

  public MyFile(String folder, String name)
  {
    this.filename = folder + name;
  }

  public MyFile(MyFile file, String name)
  {
    this.filename = file.getFolder() + name;
  }

…
}

"클래스 내에서 생성자를 선언하는 것은 쉽습니다. 생성자는 초기화 메서드와 유사하지만 두 가지 차이점만 있습니다.

1. 생성자의 이름은 초기화 대신 클래스 이름과 동일합니다.

2. 생성자에는 유형이 없습니다 (유형이 표시되지 않음)."

"좋아요. initialize 와 비슷 하지만 몇 가지 차이점이 있습니다. 알 것 같습니다."