강의로 돌아가기
-

Iterator객체를 만들때 사용하는 식이 궁금합니다.

Iterator iter = set1.iterator();

이런 식은 처음 보는 것 같은데 객체를 생성하는 new가 없어도 객체가 생성이 되나요?
이 식은 어떤 논리로 해석할 수 있는지 궁금합니다!

그리고 set은 treeset을 찾아보니 total ordering과 비교해서 나오는 natural ordering이라는 개념이 궁금합니다.

1 개의 답변
Demi

set1.iterator()가 Iterator 타입의 객체를 반환하기 때문에 new가 없어도 생성됩니다.

객체를 생성할 때마다 new를 사용할 필요는 없는데요. 예를 들어

import java.util.HashSet;

class CodeRunner{
    public static HashSet<String>myfunc() {
        HashSet<String> ret = new HashSet<String>();
        return ret;
    }
    public static void main(String[] args){
        HashSet<String> val = myfunc();
    }
}

이 코드에서 val은 mufunc에서 리턴한 HashSet 객체를 바로 저장하기 때문에 new로 초기화하지 않습니다.
class와 constructor 개념을 좀 더 익히시면 잘 이해할 수 있을겁니다.

답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.