둘 다 개념은 runtime때 검사하니까 immutable이여도 바꿀 수 있단건데

개념을 알고있어도 막상 이들을 활용은 못할거같은데 주로 언제 사용됨?