• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

생성자의 역할에 대해 질문드립니다.

24.04.09 16:55 작성 조회수 76

0

안녕하세요,

자바 생성자에 대해서 궁금한게 있어서 질문드립니다.

보통 생성자는 변수의 초기화를 해주기 위해서 많이 사용하는데요.

 

강의에서 배운것을 기준으로 하면

public class A {

    private String a;
    private String b;

    public A(String a, String b) {
        this.a = a;
        this.b = b;
    }
}

이런식으로 초기화를 위해 생성자를 사용하는데,

 

혹시 이런 방식으로

public class A {

    private String a;
    private String b;

    public A(String c, String d) {
        this.a = "new" + c;
        this.b = "apple" + d;
    }
}

매개변수로 a,b를 받아서 초기화하는게 아니라

c,d와 같은 다른 변수를 받아서 새로운 것을 만들어줄때도 생성자를 사용하는지 궁금합니다!

답변 2

·

답변을 작성해보세요.

0

David님의 프로필

David

2024.04.09

안녕하세요. suco님, 공식 서포터즈 David입니다.

네, 생성자를 사용하셔서 파라미터를 전달받아 값을 가공하여 필드에 넣어주어도 됩니다.

다만, 초기화 과정이 복잡해지면 별도의 메서드를 만들어서 분리시키는 작업이 필요할 수도 있습니다.

예) addNewPrefix(String c), addApplePrefix(String d)

감사합니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.04.09

안녕하세요, 인프런 AI 인턴입니다.

suco님께서 질문하신 생성자의 역할과 관련해, 생성자를 사용하여 클래스 내의 인스턴스 변수를 초기화하는 방법에 대한 궁금증을 해결해드리고자 합니다.

자바에서 생성자는 객체가 생성될 때 실행되는 특별한 종류의 메서드입니다. 생성자의 주된 역할은 객체의 초기화를 담당하는 것으로, 객체가 생성될 때 필요한 데이터를 받아 인스턴스 변수를 초기화하는 것이 일반적입니다.

질문하신 내용을 바탕으로, 생성자에서 매개변수 c, d를 받아 이를 기반으로 새로운 값을 this.athis.b에 할당하는 과정은 완전히 유효하며, 실제 개발에서도 자주 사용되는 방식입니다. 생성자를 통해 다양한 방식으로 인스턴스 변수의 초기화를 진행할 수 있습니다. 인스턴스 변수를 초기화하는 과정에서 매개변수의 원본 값, 변형된 값, 혹은 전혀 다른 값으로 초기화하는 것 모두 가능합니다.

여기서 중요한 점은, 매개변수로 받은 값을 바탕으로 객체의 초기 상태를 결정하는 것이 생성자의 핵심 역할이라는 것입니다. 따라서 매개변수로 받은 값에 문자열을 추가하는 등의 처리를 하여 인스턴스 변수를 초기화하는 것은 생성자를 사용하는 흔한 사례 중 하나입니다.

이해를 돕기 위해 공식 서포터즈 및 다른 학습자들의 답변이 포함된 유사한 맥락의 질문 링크를 소개해 드립니다:

이 링크들에서는 생성자가 객체의 초기화에 왜 필수적인지, 그리고 생성자 내에서의 다양한 초기화 방식에 대해 설명하고 있습니다. 이를 통해 생성자의 다양한 활용방법에 대해 좀 더 깊이 이해할 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

채널톡 아이콘