이해합니까 looks like it should should be pronounced as
but it's actually
What rule causes the ㅂ in 합 to change from a b sound to an m sound?
Korean Language Stack Exchange is a question and answer site for linguists, teachers and students of the Korean language. It only takes a minute to sign up.Sign up to join this community
This consonant assimilation is actually very common and almost ubiquitous across all languages. In this specific case, the stop sound
/p/ meets a nasal
/n/ and becomes a nasal
/m/ at the same location of articulation.
The problem is that the modern "Standard" Korean has almost confusingly unique mixed-depth of orthography. So not all pronunciation is directly reflected in the written spelling. Sometimes you just need to memorize how the morphological derivations are realized in the spelling, differently from when they're spoken.
합니다 being pronounced as 함니다 is based on a strict rule, and this is what we as natives are taught to abide by in primary education.
In effect since 1989, the rules behind proper enunciation of Korean words are based on the 표준어 규정의 조항 (more or less translated as the "Provisions of the Rules of the Standard Language." This specific rule is listed in volume 2, chapter 5, section 18 where it states:
받침 ‘ㅂ(ㅍ, ㄼ, ㄿ, ㅄ)’은 ‘ㄴ, ㅁ’ 앞에서 [ㅁ]으로 발음한다
That is to say, a bottom consonant ㅂ that precedes a character that starts with ㄴ or ㅁ must be pronounced as ㅁ.
Though the standard pronunciation of 합니다 is 함니다 as above, colloquially it's not uncommon to see those who pronounce it as 함미다. This is where consonant assimilation comes into play and the ㄴ in 니 assimilates with the bottom consonant ㅁ that precedes it in 함 to become 미. Personally, 함미다 sounds more natural than 함니다.
I've seen sticklers for proper Korean chide those who pronounce 합니다 as 함미다 as "uneducated." You can safely ignore them.