Let's start with the standard pronunciations from the dictionary.
[학꾜], 하교 is
[하교]. So they differ in
- The coda (받침/종성) of the first syllable, and
- the onset (초성) of the second syllable.
ㄱ as in
[학] is an unreleased stop. The airflow that is stopped when you pronounce
ㄱ (k) is held back and not released. On the other hand,
[하] does not have a coda, thus the vowel sound
ㅏ is not obstructed and continues on.
That unreleased stop at the coda makes the onset of the following syllable tense. So the second syllable of 학교 starts with a tense consonant, for which you have to articulate with greater glottal tension.
The two consonants
[ㄱ] here also differ in their voicing, that is, you need much more vibration on your vocal cord for
[ㄱ]. [Note #1]
In natural speech, the sequence of homogeneous consonants (
[ㄱㄲ] in this case) result in gemination. It means that the sequence of two continuous consonants sounds as if they are merged into one, but with longer length. (The length may be indistinguishable depending on the speed of the speech.) Even in this case, the distinction of tenseness and voicing of the two consonants should be clear.
To sum up, 학교 sounds as if it were written
[하꾜]. 하교 is a plain, normal
[하교]. Try to pay attention to:
- The unreleased stop at the end of
- the tense consonant of
- the voiced consonant of
[교] compared to the unvoiced
To a non-native speaker whose native tongue does not distinguish an unreleased stop or consonant tenseness may have difficulty here. This has to be trained over time. Most languages have phonemic distinction of consonant voicing, so you may find it easier to tell
[교] apart from
[꾜] than the other two points.
[Note #1] ㄱ is voiced only when it comes between vowels or voiced consonants (including ㄴ, ㄹ). For more on this subject, see: positional allophones.