Question: I can't answer completely "why should we call "**void**" is '**return type**'?"

*How do I prove that "**void**" is a type?*

Answer: 
Any class method must specify a return type. The 'void' keyword can be specified, specifying that it has no return type, for example:

```
public void SetPantsSize(int width);

```

There is also a void class: 
<http://download.oracle.com/javase/6/docs/api/java/lang/Void.html>
Void is a type in most languages, and given the typical type system, it makes the most sense to think about it as a type that specifies "nothing". You didn't state your language, but for example, in C#, the `void` keyword corresponds to the [.NET framework void type](http://msdn.microsoft.com/en-us/library/system.void.aspx).