I am learning concepts in kubernetes, when i am going through deployments and replicaset concepts i got one doubt that can replicasets and deployment be independent to each other
You can create a ReplicaSet without creating a Deployment, but nowadays it does not make much sense. You will almost always use only Deployment for deploying an application, and for every change, e.g. updating the image:, it will manage the creation of a new ReplicaSet for you.
You can create ReplicaSet and ReplicationController also Deployment however nowadays all use Deployment which auto-create and manage ReplicaSet. 
We can say Replicasset is updated version of the replication controller to understand easily.
You can deploy the same application using Replicaset & Deployment, however, with deployment it's easy to manage and update docker image.