inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

(기출) 2023년 3회 코드해석 문제

2023 3회 19:31 자바 오류찾기

해결된 질문

117

강범준

작성한 질문수 2

0

생성자에거 왜 name 앞에 this. 이 안붙나요?

어떤건 붙고 안붙고 기준이 있나요?

python java c 정보처리기사

답변 2

1

주말코딩

안녕하세요, 질문의 문제 시분초가 조금 이상합니다.

19:40 부터 시작되는 문제 말씀이실까요? (오류 라인 찾기)

 

우선, 정말 좋은 질문이십니다. 다들 왜 인지 질문을 안해주시더라고요..

 

생성자에서의 this는 멤버 변수를 가지고 있는 객체를 대신하는 단어로 동작하지만, 사실 없어도 변수명(멤버변수명)이 같다면 인식하긴 합니다. 하지만 보통 외부변수와 같은 이름으로 쓰는 경우가 있습니다.

예를 들어서 멤버변수 이름도 age, 외부에서 오는 파라미터도 age로 작성하는 경우가 있죠.

(왜 그러냐고 물으시면, 전통적으로 그러는 경우도 있고 의미가 명확해서 그 단어를 의미적으로 사용하는 경우도 있습니다. 개발자마다 다르게 사용할 수 있지만, 제가 Java 개발자로 있을 때는 같은 경우가 더 많았습니다.)

 

그렇게 되면 외부에서 온 변수와 내부 멤버변수를 구별하기 위해서 앞에 할당되는 멤버변수 앞에 this.를 붙여서 구별합니다.

 

지금은 외부에서 오는 변수가 val이고, 멤버변수가 name이라 Java가 해당 코드를 해석할 때 구별해서 충분히 이해하기 때문에 작성하지 않아도 됩니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 강범준님.

자바에서 this 키워드는 객체 자신의 인스턴스를 참조할 때 사용됩니다. 주로 인스턴스 변수와 매개변수의 이름이 동일할 때 구분하기 위해 사용됩니다. 따라서 상황에 따라 this가 필요할 때와 그렇지 않을 때가 있습니다.

언제 this를 사용하는가?

  1. 같은 이름의 변수 구분: 매개변수와 인스턴스 변수의 이름이 같다면 this를 사용하여 인스턴스 변수를 명확히 구분합니다.
   public class Example {
       private String name;

       public Example(String name) {
           this.name = name; // this.name은 인스턴스 변수, name은 매개변수
       }
   }
  1. 메소드 체이닝: 같은 객체에서 여러 메서드를 호출할 때, 메서드가 다른 메서드를 연이어 호출하도록 하기 위해 this를 사용할 수 있습니다.

언제 this가 필요하지 않은가?

  • 인스턴스 변수와 매개변수의 이름이 다를 때는 this가 필요 없습니다.
  • 메소드나 생성자 내부에서 지역 변수를 참조할 때도 this는 사용하지 않습니다.

강범준님께서 말씀하신 경우, 해당 생성자의 매개변수와 인스턴스 변수의 이름이 동일하지 않다면 this를 사용하지 않아도 됩니다. 반대로, 동일하다면 this를 통해 명확하게 구분하는 것이 좋습니다.

관련 링크

자바에서 this 키워드를 사용하는 다양한 사례에 대한 설명을 읽어보고 싶으시면, 다음 링크를 참조하시기 바랍니다:
- 자바의 this 키워드와 그 사용 케이스

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

26년2회 실기기출은 언제쯤...

0

46

2

이론 공부법 요약본 버전 업데이트 문의

0

35

2

정처기 필기 준비할때 이 이론을 다시 외워도 될까요?

0

57

2

조건 반복문 질문: for 문 ?

0

66

1

정처기 26-2회. 9번 질문드립니다!

0

85

1

이론 보면서 질문이 있습니다.

0

82

2

정보처리기사 실기 26년 2회 SRT 스케줄링 문제 단위 질문

0

93

2

유튜브(정보처리기사 실기 | 26년 2회 기출문제 코드 해설)

0

153

2

262 정처기 실기 C언어코딩

0

50

1

정보처리기사 262 실기 Hash(해시) 질문

0

85

2

static 변수 질문입니다.

0

64

2

파이썬 4강 질문입니다.

0

73

2

모의고사 1회 3번문제

0

95

3

41강 30:10

0

69

2

이론 공부법 질문 있습니다.

0

94

2

부모의 생성자 관련 질문

0

70

2

시험지 문제에 필기해도 되나요?

0

92

3

41강 11:23

0

61

2

4강파이썬 질문입니다

0

58

2

try-catch 핸들러명

0

71

2

36강 3:48

0

70

2

35강 18:27

0

69

2

자식 코드 내 super() 생략

0

63

2

출력질문

0

80

2