public class Car {
String model;
String color;
void drive() {
System.out.println("driving car");
}
}
Car myCar = new Car();
myCar.model = "Kia";
myCar.color = "blue";
myCar.drive(); // "driving car" 출력
public class ElectricCar extends Car {
int batteryCapacity;
void charge() {
System.out.println("charging car");
}
}
ElectricCar myElectricCar = new ElectricCar();
myElectricCar.model = "tesla";
myElectricCar.color = "white";
myElectricCar.batteryCapacity = "500";
myElectricCar.drive(); // "driving car"
myElectricCar.charge(); // "charging car"
public class MathUtils {
int add(int a, int b) {
return a + b;
}
double add(double a, double b) {
return a + b;
}
}
public class car {
void drive() {
System.out.println("driving car");
}
}
public class ElectricCar extends Car {
@Override
void drive() {
System.out.println("driving electric car");
}
}
public class Account {
private double balance;
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
}
}
public double getBalance() {
return balance;
}
}
abstract class Animal {
abstract void makeSound(); // 추상 메소드
void eat() { // 일반 메소드
System.out.println("This animal eats food.");
}
}
class Dog extends Animal {
@Override
void makeSound() {
System.out.println("Bark");
}
}
class Cat extends Animal {
@Override
void makeSound() {
System.out.println("Meow");
}
}
interface Vehicle {
void start(); // 추상 메소드
void stop(); // 추상 메소드
}
class Car implements Vehicle {
@Override
public void start() {
System.out.println("Car is starting.");
}
@Override
public void stop() {
System.out.println("Car is stopping.");
}
}
class Bike implements Vehicle {
@Override
public void start() {
System.out.println("Bike is starting.");
}
@Override
public void stop() {
System.out.println("Bike is stopping.");
}
}
1. 자바의 특성
2. 코드 재사용성
3. 유지보수성
4. 확장성
5. 추상화
6. 데이터 은닉