객체지향 프로그래밍 개요

주요 특징 내용
추상화 객체의 공통적인 속성과 기능을 추출하여 클래스로 정의하는 특징
캡슐화 객체의 정보 노출을 최소화하고 꼭 필요한 정보만 제공하는 특징
상속 기존에 만들어 놓은 클래스의 확장 시켜 기능을 재사용하는 특징
다형성 하나의 객체가 여러 가지 타입으로 변환을 통해 다양한 기능을 제공하는 특징

객체와 클래스

image.png

Car 객체

// Car 클래스 정의(설계)
public class Car {

	// 속성(멤버 변수)
	String name;
	String color;
	int speed;
		
	// 기능(멤버 메서드)
	public void speedUp(int speed) {
		// this는 현재 클래스를 지칭
		this.speed += speed;
	}
		
	public void speenDown(int speed) {
		this.speed -= speed;
	}
	
	public void show() {
		System.out.println("차량명 : " + this.name);
		System.out.println("차량색 : " + this.color);
		System.out.println("현재속도 : " + this.speed);
	}

}

Car 객체 생성, 초기화

public class ClassTest {
	public static void main(String[] args) {
		// car 객체 선언
		Car sonata;
		
		// 객체 생성
		sonata = new Car();
		
		// 객체 초기화
		sonata.name =  "소나타";
		sonata.color = "흰색";
		sonata.speed =  0;
		
		// 객체 상호작용
		sonata.speedUp(100);
		sonata.speenDown(20);
		sonata.show();
		
	}
}
차량명 : 소나타
차량색 : 흰색
현재속도 : 80