Skill Tree Expense and Methods

I have two options for my skill tree that will include more than 200 skills:

  1. Create a big skill class and create 200 instance children from that, and call them by casting and stuff.

  2. Write 200 functions in the MyCharacter class and call from that, MyCharacter class will call the functions mostly, seems a little weird but here is my question:

Is there a difference in terms of performance between the two methods, and if there is a better method, please tell so. Thanks.

oh and the 3rd method is) write a few functions up to ten in the myCharacter class, and just call skill effects(particle emitters mostly) with an array. Question is still the same.