객체지향언어의 주요 특징
코드의 재사용성이 높다.
코드의 관리가 용이하다.
신뢰성이 높은 프로그래밍을 가능하게 한다.
가장 큰 장점은 "코드의 재사용성이 높고 유지보수가 용이하다."
클래스
-정의: 클래스란 객체를 정의해 놓은 것이다.
-용도: 클래스는 객체를 생성하는데 사용된다.
객체
-정의: 실제로 존재하는 것. 사물또는 개념
-용도: 객체가 가지고 있는 기능과 속성에 따라 다름
인스턴스
-정의: 설계도를 바탕으로 소프르퉤어 세계에 구현된 구체적인 실체
-클래스로부터 객체를 만드는 과정을 클래스의 인스턴스화라고 하며, 어떤 클래스부터 만들어진 객체를 그 클래스의 인스턴스라고 한다.
객체의 구성요소
-속성: 멤버변수, 특성, 필드, 상태
-기능: 메서드, 함수, 행위
class Tv{
string color;//속성
void power() {power = !power;}//기능
}
인스턴스 생성과 사용
클래스명 변수명;
변수명 = new클래스명();
TV t;
t = newTv();
객체 배열
TV tv1,tv2,tv3; => TV[] tvArr = new TV[3];
클래스의 또 다른 정의
-변수: 하나의 데이터를 저장할 수 있는공간
-배열: 같은 종류의 여러 데이터를 하나의 집합으로 저장할 수 있는 공간
-구조체: 서로 관련된 여러 데이터를 종류에 관계없이 하나의 집합으로 저장할 수 있는 공간
-클래스: 데이터와 함수의 결합(구조체+함수)
선언위치에 따른 변수의 종류
-지역변수: 멤버변수를 제외한 나머지 변수들
-클래스변수: static이 붙은 것
-인스턴스변수: static이 안붙은 것
인스턴스변수는 인스턴스가 생성될 때 마다 생성되므로 인스턴스마다 각기 다른 값을 유지
클래스 변수는 모든 인스턴스가 하나의 저장공간을 공유하므로 항상 공통된 값을 갖는다.
메서드
-특정 작업을 수행하는 일련의 문장들을 하나로 묶는 것이다.
사용하는 이유
높은 재사용성
중복된 코드의 제거
프로그램의 구조화