부분 메소드가 리턴 유형을 void로 가질 수 있다는 사실 뒤에 논리/장애물이있는 이유는 무엇입니까?부분 메소드가 반환 유형을 void로만 가질 수있는 이유는 무엇입니까?
감사합니다.
부분 메소드가 리턴 유형을 void로 가질 수 있다는 사실 뒤에 논리/장애물이있는 이유는 무엇입니까?부분 메소드가 반환 유형을 void로만 가질 수있는 이유는 무엇입니까?
감사합니다.
부분 메소드는 구현을 제공하지 않은 경우 생략되도록 설계되었습니다. 컴파일러는 실제로 구현되지 않은 부분 메소드에 대한 호출을 제거합니다.
이것은 또한 아무것도 반환 할 수없는 이유를 강조합니다. 부분 메서드를 구현하지 않고 반환 값에 의존한다면 무엇입니까? 코드에 명확하게 과제가 표시되어 있음에도 불구하고 무언가가 초기화되지 않았을 것입니다.
마지막으로 내 소식과 함께 이해합니다. 다른 곳에서 대답을 찾는 데 어려움이있었습니다. 감사! – ckv
구현되지 않은 부분 메소드는 컴파일시 제거됩니다. 컴파일러는 이미 존재하는 객체의 상태 만 수정하기 때문에 void 메쏘드에 대한 호출을 무시할 수 있습니다. 객체를 반환하는 메소드는 코드를 무효화 할 수 있으므로 제거 할 수 없습니다.
부분적인 방법의 구현은 선택적으로 의도된다.
구현을 제공하지 않으면 호출이 여전히 유효하지만 컴파일러에서 자동으로 제거됩니다. 대리자는 구현 된 부분 메서드 만 할당 할 수 있습니다.
즉, 실제로는 반환 값이나 "out"매개 변수가 없으며 가상 일 수없고 항상 비공개입니다.
기타 here.
[부분 메소드가 무엇을 반환 할 수없는 이유는 무엇입니까?] (0120-337-331) – BoltClock
부분 메소드 무효 반환 유형을 사용할 수 있습니까? 그들은'default (T)'또는 무엇을 돌려 주어야합니까? – CodesInChaos