'Good' is an adjective because it describes the noun 'friends'. Adjectives answer the question 'what kind' - what kind of friends? Good friends. The word 'good' gives us more information about the quality of the friendship, which is the job of an adjective.