title: How to use @Scope in Dagger 2
body: <p>I read a lot of material on the @Scope annotation but still not fully understanding if what I know is correct.</p>
  
  <p>Can someone explain what exactly is @Scope for? Where is it used? How is it used?</p>
  
  <p>Is it only used when defining the component?</p>
  
  <p>Also is a scope defined like this?:</p>
  
  <pre><code>@Scope
  public @interface SomeScope {
  }
  </code></pre>
  
  <p>And used like this?:</p>
  
  <pre><code>@SomeScope
  @Component(modules = {
          HeaterModule.class,
          PumpModule.class
  })
  public interface MainActivityComponent {
      void inject(MainActivity mainActivity);
      CoffeeMaker maker();
  }
  </code></pre>