# Programação Orientada a Objetos com Java
## 1. Conceitos Fundamentais
- Classe, Objeto
- Atributos, Métodos
## 2. Encapsulamento
- Modificadores de acesso: public, private, protected
## 3. Herança
```java
class Animal {
void som() { [Link]("som"); }
class Cachorro extends Animal {
void som() { [Link]("Latido"); }
```
## 4. Polimorfismo
- Sobrescrita e Sobrecarga de métodos
## 5. Abstração e Interfaces
```java
interface Voavel {
void voar();
}
```
## 6. Classes Abstratas vs Interfaces
## 7. UML e modelagem de classes
## 8. Projeto Final
Sistema simples de cadastro com herança, encapsulamento e polimorfismo aplicados.