i2c
Page Tag
Static (Belong to Final
class single copy
shared in objects)
Class - inherit ✔ inherit ❌
instantiate ❌ instantiate ✔ (only
nested can be
static)
Method - override override ❌
❌ (use without
object)
Variable - use reassigned ❌
without object of Constant ✔
class
makes a member prevents
belong to the class, modification of a
not the instance variable, method, or
class
i.e. Utility methods Wrapper classes
(parseInt(), (Integer, Double) -
valueOf()) prevents
inheritance
Encapsulation Abstraction
Hide Data Hide
(controlling access) Implementation
(only declaration
layer)
private data + abstract class &
Public method → Interface
Class
security Simplicity: Focus on
What, Not How
i.e. balance in a payment.process()
BankAccount
i.e. pill works inside use tools like car
a capsule without knowing
inner workings
Inheritance Polymorphism
(multi forms)
classA inherits var same method diff
& methods → class objects
classB
Use extends and same methods
implements name, subclass
redefine parent
method
code Reusability: Flexibility: Same
Avoid rewriting method behaves
common logic differently
single, Multilevel, Method
Multiple, Overloading (C.T) &
Hierarchical, Hybrid Overriding (R.T)
achieve overriding Overriding - related
Runtime to inheritance
Polymorphism
car, bike → vehicle payment.process()
(start, stop engine) & area(int a),
area(int a, int b)
i.e. families, where Same action
traits are passed (speak), diff object
down diff behavior
Abstract Class Interface
Abstract & Non Abstract , Default
Abstract Methods ✔ (can override),
Static Methods ✔
can be extended by can be
only one class implemented by
multiple classes
Public ( Private (class level) Protected (same Default (package-
program/project packages and same private)
level) classes)
Accessible from only within the Same class + only same package
anywhere same class subclasses (also in
diff package) +
same package
class: any other cannot be declared only nested (not only same package
class private outer) classes can
be protected
method/variable: only within the Same class + only same package
any other class same class subclasses (also in
diff package) +
same package
Stable (LTS - Long Latest
Term Support)
Java 21 - (JDK 8 using) 24
features?
Spring 6 - (4 using) 6.2.7
Spring boot 3 3.4.5
Angular 17 - (16 using) 19
React 17 - 2020 19 - 2024
HTML 5 5
JS ES6 (2015) JS 2024
CSS CSS3 - 2017 5.01 - 2025
1NF 2NF 3NF
One value per cell Remove partial Remove
Deps (All non-keys indirect/transitive
fully depend on dependencies btw
entire P.K) non-keys
Split groups/lists Move partial Move linked non-
into rows dependent non- key fields to new
keys to new table table
To remove Reduces Further reduces
duplication & for redundancy & redundancy, avoids
consistency prevents data data anomalies
anomalies
i.e. student i.e. student, course, i.e. student, course,
(multiple courses enrollment (shift enroll, dept (shift
split to rows) course_id to enroll) dept and t name)
Stack (LIFO) Queue (FIFO) Heap
where the last first element added Dynamic memory
element added is is the first one allocation (not data
the first one removed structure, but a
removed memory area)
push, pop, peak enqueue(), Managed by JVM,
dequeue() stores objects &
runtime data.
Used for function for task scheduling, Stores objects,
calls, recursion, buffering, BFS. global variables,
undo operations and dynamic
allocations
i.e. Stores primitive Stores objects Java new Object()
types (String), call (garbage-collected) allocates memory in
stack in event loop heap i.e. string with
new()
DDL DML DCL TCL
Data Definition Data Manipulation Data Control Transaction Control
Language Language Language Language
CREATE, ALTER, SELECT, INSERT, GRANT, REVOKE COMMIT,
DROP, TRUNCATE UPDATE, DELETE ROLLBACK,
SAVEPOINT
to define and modify data inside Manage Ensures data
modify the tables permissions to be integrity
structure added or removed