Method within same class

If I want to run method B from method A, what is the difference between these 2 ways?

First:

class DoctypeName(Document):
    def method_a():
        doc = frappe.get_doc('Doctype Name', {'fieldname': 'name_of_field'})
        doc.method_b()

    def method_b():
        print("Method B")

Second:

class DoctypeName(Document):
    def method_a():
        DoctypeName.method_b()

    def method_b():
        print("Method B")

Thank you.

One of them will throw TypeError

Please refer python - Difference between @staticmethod and @classmethod - Stack Overflow