As there is a definite article in front of the adjective you have to use weak inflection.
ein guter Junge, but der gute Junge
Strong inflection means the word takes the case endings of der or dieser. Weak inflection is a much simpler table. (See link below). When the determiner (words like "the" "a" "this" "five" etc.) is strong, the adjectives after it are weak. When the determiner is weak or absent, the adjectives have to be strong.
Please also check out : http://www.nthuleen.com/teach/grammar/adjektivendungenexpl.html for adjective endings.
Attributive adjectives – i.e. adjectives in front of a noun like in „der gute Junge“ in contrast to predicative adjectives which are applied to the noun by some verb like to be as in „Der Junge ist gut.“ – receive an inflection in German which depends on the grammatical gender and number of the noun, the grammatical case in which the noun is in, and the article or determiner in front of the noun.
Depending on the article/determiner you have to pick the inflection of the adjective out of one of the three different inflection tables which are called
strong inflection for when there is no article in front
weak inflection for when there is a definite article and
mixed inflection for when there is an indefinite article or a possessive determiner.
For the inflection patterns I suggest you to take a look at the inflection tables linked above. I'm afraid I can not give you an answer as to why the three patterns are called this way. While weak inflection has only added -e and -en and strong inflection uses -er, -em and -es in addition to that, I'm not certain that the larger “variety” of endings is the origin of the name strong.
The only situation that I can think of in which „Ich bin der gute Junge.“ would be said is when you want to distinguish yourself from the „bad boy“. That's probably the reason why there is a definite article in the German sentence and IMHO it should also be a definite article in the English translation.
In sentences in which sein (to be) or werden (to become) is used as an equal sigh between the subject and some other phrase the other phrase isn't a direct object in accusative case but rather a so called subject predicative in nominative case.
acc: „Ich suche den guten Jungen.“ – “I'm looking for the good boy.”
nom: „Ich bin der gute Junge.“ – “I am the good boy.”