[{"data":1,"prerenderedAt":249},["ShallowReactive",2],{"term-e\u002Fencapsulation":3,"related-e\u002Fencapsulation":235},{"id":4,"title":5,"acronym":6,"body":7,"category":217,"description":218,"difficulty":219,"extension":220,"letter":221,"meta":222,"navigation":88,"path":223,"related":224,"seo":229,"sitemap":230,"stem":233,"subcategory":6,"__hash__":234},"terms\u002Fterms\u002Fe\u002Fencapsulation.md","Encapsulation",null,{"type":8,"value":9,"toc":211},"minimark",[10,15,19,23,26,30,200,204,207],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"Encapsulation is bundling data and the methods that operate on it into one unit, and hiding the internal state from the outside world. It's like a capsule pill — the medicine is inside and you interact with the coating, not the guts. Private fields and public methods in action.",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25],{},"Encapsulation is an OOP principle where an object's internal state is hidden from the outside world. External code interacts only through a defined public interface (methods). This protects invariants, reduces coupling, and allows internal implementation to change without affecting consumers.",[11,27,29],{"id":28},"show-me-the-code","Show Me The Code",[31,32,37],"pre",{"className":33,"code":34,"language":35,"meta":36,"style":36},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","class BankAccount {\n  private balance: number = 0;\n\n  deposit(amount: number) {\n    if (amount > 0) this.balance += amount;\n  }\n\n  getBalance(): number {\n    return this.balance; \u002F\u002F controlled access\n  }\n}\n","typescript","",[38,39,40,57,83,90,112,147,153,158,171,189,194],"code",{"__ignoreMap":36},[41,42,45,49,53],"span",{"class":43,"line":44},"line",1,[41,46,48],{"class":47},"spNyl","class",[41,50,52],{"class":51},"sBMFI"," BankAccount",[41,54,56],{"class":55},"sMK4o"," {\n",[41,58,60,63,67,70,73,76,80],{"class":43,"line":59},2,[41,61,62],{"class":47},"  private",[41,64,66],{"class":65},"swJcz"," balance",[41,68,69],{"class":55},":",[41,71,72],{"class":51}," number",[41,74,75],{"class":55}," =",[41,77,79],{"class":78},"sbssI"," 0",[41,81,82],{"class":55},";\n",[41,84,86],{"class":43,"line":85},3,[41,87,89],{"emptyLinePlaceholder":88},true,"\n",[41,91,93,96,99,103,105,107,110],{"class":43,"line":92},4,[41,94,95],{"class":65},"  deposit",[41,97,98],{"class":55},"(",[41,100,102],{"class":101},"sHdIc","amount",[41,104,69],{"class":55},[41,106,72],{"class":51},[41,108,109],{"class":55},")",[41,111,56],{"class":55},[41,113,115,119,122,125,128,130,133,136,139,142,145],{"class":43,"line":114},5,[41,116,118],{"class":117},"s7zQu","    if",[41,120,121],{"class":65}," (",[41,123,102],{"class":124},"sTEyZ",[41,126,127],{"class":55}," >",[41,129,79],{"class":78},[41,131,132],{"class":65},") ",[41,134,135],{"class":55},"this.",[41,137,138],{"class":124},"balance",[41,140,141],{"class":55}," +=",[41,143,144],{"class":124}," amount",[41,146,82],{"class":55},[41,148,150],{"class":43,"line":149},6,[41,151,152],{"class":55},"  }\n",[41,154,156],{"class":43,"line":155},7,[41,157,89],{"emptyLinePlaceholder":88},[41,159,161,164,167,169],{"class":43,"line":160},8,[41,162,163],{"class":65},"  getBalance",[41,165,166],{"class":55},"():",[41,168,72],{"class":51},[41,170,56],{"class":55},[41,172,174,177,180,182,185],{"class":43,"line":173},9,[41,175,176],{"class":117},"    return",[41,178,179],{"class":55}," this.",[41,181,138],{"class":124},[41,183,184],{"class":55},";",[41,186,188],{"class":187},"sHwdD"," \u002F\u002F controlled access\n",[41,190,192],{"class":43,"line":191},10,[41,193,152],{"class":55},[41,195,197],{"class":43,"line":196},11,[41,198,199],{"class":55},"}\n",[11,201,203],{"id":202},"when-youll-hear-this","When You'll Hear This",[16,205,206],{},"\"Encapsulation protects the balance from being set directly.\" \u002F \"Use encapsulation to enforce invariants within the class.\"",[208,209,210],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":36,"searchDepth":59,"depth":59,"links":212},[213,214,215,216],{"id":13,"depth":59,"text":14},{"id":21,"depth":59,"text":22},{"id":28,"depth":59,"text":29},{"id":202,"depth":59,"text":203},"architecture","Encapsulation is bundling data and the methods that operate on it into one unit, and hiding the internal state from the outside world.","beginner","md","e",{},"\u002Fterms\u002Fe\u002Fencapsulation",[225,226,227,228],"Abstraction","Inheritance","Polymorphism","Single Responsibility",{"title":5,"description":218},{"changefreq":231,"priority":232},"weekly",0.7,"terms\u002Fe\u002Fencapsulation","8UIZyPkJLhB4NH3lLRH-O2odKrfbMTG2lIdrUh5DgbY",[236,239,242,246],{"title":225,"path":237,"acronym":6,"category":217,"difficulty":219,"description":238},"\u002Fterms\u002Fa\u002Fabstraction","Abstraction is hiding the messy details and showing only what matters.",{"title":226,"path":240,"acronym":6,"category":217,"difficulty":219,"description":241},"\u002Fterms\u002Fi\u002Finheritance","Inheritance lets a class take on all the properties and behaviors of another class.",{"title":227,"path":243,"acronym":6,"category":217,"difficulty":244,"description":245},"\u002Fterms\u002Fp\u002Fpolymorphism","intermediate","Polymorphism means the same method call can do different things depending on which object it's called on. Call 'speak()' on a Dog and you get a bark.",{"title":228,"path":247,"acronym":6,"category":217,"difficulty":219,"description":248},"\u002Fterms\u002Fs\u002Fsingle-responsibility","Single Responsibility means every class or function should do ONE thing and do it well.",1776518276934]