Pros and Cons of using a non-pointer class object
In this situation, where you are just working with globals, the static declaration is preferred, although it makes little difference.

The static declaration (MyClass mc2) will reserve space in the BSS. The dynamic allocation (mc1 = new MyClass()) will allocate space on the heap at run time at the start of your sketch. Both are in pretty much the same area of RAM (the heap is directly above the static data area).

The only trouble starts to come when you want to free (delete) the object created with new. That can, over time, make a complete swiss-cheese mess of your heap which can cause memory allocation problems.

For that reason the dynamic method is shunned, but if all you ever do is allocate at the start and never deallocate then there is little practical difference between the two methods.