In website geeksforgeeks i read that adding a vertex to graph in adjacent matrix takes O(V^2) time but i am not getting it. It requires adding a row and a column which should take linear time ? I am a beginner hence forgive me for such a question
It more or less depends on the implementation. If you have implemented the matrix using linked lists (which isn't what we usually do), then adding a new vertex in $G$ will be linear in the number of vertices of $G$. But we don't usually use linked lists because then reading/checking an edge will take $V(G)^2$ time.
To allow random/constant time access of the adjacency matrix, we need to use fixed-size arrays of arrays (or matrix). Now, when you add new vertex, we are required to copy the whole matrix into a bigger size matrix: hence the quadratic time.
Generally, we use $vectors$ instead of $arrays$ which hold extra hidden memory, and hence it will indeed be linear time to add a vertex on average. https://www.geeksforgeeks.org/vector-in-cpp-stl/
Yes will takes O(V2), Suppose you have a small graph from vertices 1, 2, 3, 4 and each vertex connected to each other, So you have
1 [2, 3, 4] 2 [1, 3, 4] 3 [1, 2, 4] 4 [1, 2, 3]
To add this graph you need to loop for each vertex and add an edge (a link) to V-1 using LinkedList
You will find that the time complexity V * (V-1) which it's O(V2)