객체지향 3
-
C++의 클레스에서 static 변수는 선언시 부터 전역번수로 취급된다. 일반적으로 class에서 변수가 선언되면 변수는 class가 선언되기 전 까지 메모리에 할당이 안된다. 그러나, 그 내부에서 변수를 static 선언하여. 전역변수 취급으로 선언할 경우 메모리 내부에 해당 static 변수의 영역 할당이 이루어진 다음 class 선언이 이루어지고 할당된 영역을 사용하게 된다. 이는. static 이 전역처리되어. 모든 영역에서 사용이 가능해야 하기 때문에, 미리 데이터 영역을 할당하여 권한 문제가 발생하지 않도록 하기 위함이다. 다음 코드 예시로부터 살펴보자. 위 코드에서. class 내부의 static과 static const 가 선언되어 있는 12번째 변수와 15번째 변수를 확인할 수 있다. s..
-
Class는 객체지향 프로그래밍(OOP)에서 사용되는 구조체의 한 종류로 Clas는 데이터와 함수를 함꼐 묶어서 사용할 수 있도록 해주며, 객체를 생성하여 사용할 수 있다. Class의 장점 캡슐화(Encapsulation) 데이터와 관련된 함수를 하나로 묶어서 외부에서 함부로 접근하지 못하게 해 데이터의 손상을 방지하고 코드의 동작성을 보장한다. 상속성(Inheritance) 다른 클래스로부터 기존 함수와 데이터를 물려받아 사용할 수 있으며, 코드의 재사용성을 높인다. 다형성(Polymorphism) 같은 이름의 함수를 다양한 방법으로 사용할 수 있다. 유지보수성(Maintainability) Class는 코드의 재사용성과 가독성을 높여 유지보수가 용이하다. Class의 단점 구현의 복잡성 (Imple..
-
객체지향적 프로그래밍은 4가지 특징이 있다. 때로는 5가지 특징이 있다고 하는데, 캡슐화에서 다른 한가지 특징이 자동적으로 파생되어 나옴으로 4대특징이라 해도 무방하고 5대 특징이라고 해도 무방하다. 객체지향의 4대 특징은 다음과 같다. 추상화 (Abstraction) 어떠한 특성만을 가지고서 재조합 하는것을 뜻한다. 이는 프로그램에서 필요한 부분만 외부에 노출시키고 필요없는 부분을 감춤으로써, 프로그램 내부의 객체 구현방법을 몰라도 사용할 수 있도록 해준다. 그리하여 객체별 프로그래밍이 가능해지고 이는 대규모 프로젝트 에서의 효율적인 작업을 야기한다. 캡슐화 (Encapsulation) [ 여기에서 정보은닉 (Information hiding)이 파생된다. ] 객체의 속성이나 동작들을 클래스로 묶는것을..