I believe the rule is that "schema+name" must be unique - so you can have two tables of the same name even, as long as they are in different schemas. The default schema is set by your user properties, this is
dbo more often than not so if you do not specify a schema your object called
object is actually
This means you can have a procedure with the same name as a table as long as they are in different schemas: so you could have a table "dbo.thingy", a procedure "procs.thingy", a view "views.thingy", and so on, if you really want - but this really would not be recommended as it will cause significant confusion later on.
If you are not using (or even familiar with) schemas then the short answer is no. Object names within a schema must be unique, so if you only have the one (default) schema then object names must be unique full stop.