객체지향언어
객체지향 프로그래밍
프로그래밍 에서 필요한 데이터를 추상화시켜서 변수화 메소드를 구성하고 객체들 간의 상호작용으로 로직을 구성하는 프로그래밍
추상화
인터페이스로 클래스들의 공통적인 특성(변수, 메소드)들을 묶어 표현하는 것
클래스를 정의하는 걸 추상화라고 생각하면 된다
다형성
어떤 변수,메소드가 상황에 따라 다른 결과를 내는 것
상속
자식 클래스가 부모 클래스의 특성과 기능을 물려받는 것
기능의 일부분을 변경하는 경우 자식 클래스에서 상속받아 수정 및 사용함 (overriding)
상속은 캡슐화를 유지, 클래스의 재사용이 용이하도록 해 준다.
인터페이스
인터페이스를 implements 하는 경우, 반드시 날기 인터페이스에 있는 메소드를 정의해야 한다
캡슐화, 은닉화
실제로 구현 부분 외부에 드러나지 않도록 하는 것
내부 구조는 private하게 감춰두고 외부에서 조작할 수 있는 정보만 public으로 공개한다
변수와 메소드를 하나로 묶음
데이터를 외부에서 직접 접근하지 않고 함수를 통해서만 접근
C / CPP
C언어
C++