Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
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
Archives
Today
Total
관리 메뉴

우주코딩

생성자 활용 본문

자바 본 강의

생성자 활용

우주코딩 2021. 7. 28. 17:26

생성자 활용

생성자?

인스턴스를 생성한 후 그 인스턴스(값을 저장할 변수들의 묶음, 메서드X)를 제대로 쓸 수 있도록 유효한 값으로 초기화시키는 일을 하는 메서드 (O) 올바른 답변

자동으로 실행되는 메서드요 ( X ) 아주 올바르지 않은 답변

String 클래스로 생성자호출하여 인스턴스 초기화하기

String s1 = new String("Hello");
// Hello => String literal
// 문자열 리터럴을 사용하여 String 인스턴스를 초기화시키기.
// String(스트링 리터럴) 생성자를 호출하여 인스턴스 초기화
char[] chars = new char{'H','e','l','l','o'}
// char배열이 만들어 진 것

String s2 = new String(char) 
// 문자 배열을 s2의 주소값으로 넣음.
// char[] 을 사용하여 String 인스턴스 초기화시키기.
// String(char[]) 생성자를 호출하여 인스턴스 초기화

남이 만든 클래스를 사용할 때 매뉴얼을 보고 적절한 생성자를 사용하라

% 주의 %
Calendar 클래스는 생성자가 없다.
기본 생성자가 protected 로 제한되어있다. protected형 생성자는 상속된 서브클래스만이 접근할 수 있다. 캘린더 클래스의 getInstance 메서드를 통해 인스턴스를 생성할 수 있다.

이렇게 자바에서 생성자의 사용 권한을 막고 메서드를 호출하여 객체를 생성하도록 유도하는 경우는 다음과 같다.

  1. 같은 값을 갖는 객체를 쓸데없이 여러 개 생성하지 못하도록 하고 싶을 때
    메모리를 절약할 수 있다. => 이런 방법을 사용하는 설계 기법: Singleton
  2. 객체 생성과정이 복잡할 때
    객체 생성 코드를 단순하게 만들 수 있다.
    생성된 객체를 재활용할 수 있다. => 이런 방법을 사용하는 설계 기법: Factory Method
Comments