1. 객체지향 특징 3가지 캡슐화 - 데이터를 캡슐로 싸서 외부의 접근으로 부터 보호하는 역할 - C++에서 클래스로 캡슐 표현 상속 - 객체가 자식클래스의 멤버와 부모 클래스에 선언된 모양 그대로 멤버들을 가지고 탄생 다형성 - 하나의 기증이 경우에 따라 다르게 보이거나 다르게 작동하는 현상 - 연산자 중복, 함수 중복, 함수 재정의(overriding) 2. C++ 프로그램 실행 순서 C++ 소스 프로그램 작성 - (소스파일 .cpp) - 컴파일 - (목적파일 .obj) - 링킹(C++ 라이브러리) - (실행파일 .exe) - 실행 (오류발생시 디버깅) 컴파일 - C++ 소스 프로그램을 기께어를 가진 목적 파일로 변환 링킹 - 목적 파일 끼리 합쳐 실행파일을 만드는 과정 디버깅 - 실행중 발생한 오류..
이전에 포스팅한 creditcard4 클래스를 참고하였습니다.ArrayList의 간략한 메소드들은 아래 포스팅을 참고하시길 바랍니다.http://slowlywalk1993.tistory.com/entry/Java-ArrayList%EB%9E%80 package ks.example.creditcard; import java.util.ArrayList;import java.util.Scanner; public class CreditCardtest2 {public static void main(String[] args){ArrayList CardList = new ArrayList(); //ArrayList객체생성boolean isStop = false; //while루프가 돌기위해 선언Scanner scan..
Opencv를 시작하기 앞서 설치방법을 알아보겠습니다.아래의 링크로 가서 자신의 pc사양에 맞는 버전을 선택후 다운로드.http://opencv.org/downloads.html 현재시점에서 최신버전인 2.4.9 버전을 설치하였습니다. 실행하면 아래와 같은 창이뜨는데 저는 C드라이브에 설치하였습니다. 설치가 끝났으면 C드라이브에 아래와 같이 생성 됩니다. 그후 opencv사용을 위한 환경변수설정을 해줍니다.컴퓨터 - 속성 - 고급 시스템 설정 - 환경변수 opencv사용을 위해 path를 추가해줍니다.(설치경로에 따라 다를수 있습니다.) VisuaulStudio 프로젝트 생성(2010버전 기준으로 작성)win32 console application 생성 프로젝트이름 우클릭 - property - VC++..
CreditCard , DiscountCard, MileageCard, PresentCard 클래스를 사용한 상속 예제 입니다. CreditCard 가 상위 클래스가 되고 Discount, Mileage, Present 클래스는 하위 클래스가 됩니다. package ks.example.creditcard4; public class CreditCard4 {public String owner;//카드 소유자 private long number;//16자리 카드번호protected int point;//카드 포인트protected int balance;//현재까지 사용액//생성자 구현public CreditCard4(String owner) {this.owner = owner;}public CreditCard..
Calendar 클래스를 사용한 달력 예제입니다. import java.util.Calendar;import java.util.Scanner; public class J0520_1 {public static void main(String[] args){Calendar c = Calendar.getInstance(); //Calendar 객체 생성System.out.println("today is "+c.getTime()); // 현재시각을 알려주는 메소드 입니다.Scanner scan = new Scanner(System.in);System.out.print("year : ");String year = scan.next();System.out.print("month : ");String month = s..
간단한 신용카드 클래스를 상속한 예제입니다. public class CreditCard { private String card_num; //카드번호private String user; //소유자private double current_point;//현재포인트private double use_point;//사용포인트private int use_num;//사용횟수private double total; // 카드의 총 사용액을 나타내는 변수private double last_point[] = new double[20]; //카드의 사용내역을 표시하는 배열private int i;//배열의 인덱스를 나타내는 변수 public String getCard_num() { //카드번호를 리턴하는 메소드return ca..
단순한 클래스 사용 예제 입니다 class J0516_1 {long number;String owner;int point;int balance; void use(int amount){balance += amount;System.out.println("현재 카드 사용액 : " + balance);}void payBill(int amount){balance -= amount;System.out.println("지불액: "+amount+", 지불 잔액:"+balance);addPoint(amount);}void addPoint(int amount){point += amount/1000;System.out.println("보너스 포인트:" +point);}public static void main(String[..
이번에는 간단한 상속의 예제를 살펴 보겠습니다. Person 클래스와 Student 클래스가 있는데 Student 클래스는 Person 클래스를 상속 받았기 때문에 Person클래스는 Student클래스의 상위클래스가 되고 Student 클래스는 Person클래스의 하위 클래스가 됩니다 .Student 클래스는 Person클래스가 가지고 있는 메소드와 매개변수를 자신의 것 처럼 사용할 수 있습니다. class Person { int age; public String name; protected int height; private int weight; public void setWeight(int weight){ this.weight= weight; }public int getWeight(){return ..
상속이란 부모 클래스가 가지고있는 모든것을(생성자 제외) 자식클래스가 물려받아 같이 공유하며 나아가 확장(extends)하는 개념이다. 부모 클래스를 상위 클래스(superclass)로 부르며 상속받는 자식 클래스를 하위클래스(subclass)라고 부른다.확장(extends)한다는 말은 부모클래스에서 가지고있는 추상적인 메소드를 자식클래스에서 구체적인 메소드로 오버라이드 할수 있기 때문에 자바에서는 상속을 정의할때 확장(extends)한다 라고 정의합니다.상속의 장점은 코드가 중복되는것을 막을수 있고 공통적인 코드를 변경할시 시간을 단축 시킬수 있다는 점 입니다. 예를들면 어떤 상위 클래스를 상속받는 하위클래스가 여러가지 있을때 상속을 하지 않았을땐 하위클래스 들이 가지고있는 코드를 하나 하나 변경해주어..
ArryaList를 처음 접하는 사람들은 배열에서 발전된 형태라고 보시면 됩니다.일반적으론 배열을 선언하면 배열의 인덱스를 다 채우거나 인덱스를 못채울수도 있는데 만약 다 채웠다면 더이상 배열에다가 값을 넣지 못할것이고 다 못 채웠다면 그만큼 메모리가 낭비되는 현상이 일어납니다.자바에서는 이러한 문제를 해결하기 위해 ArrayList 라는 클래스를 제공하는데 C를 공부하신분들 이라면 연결리스트와 비슷한 개념이라고 생각 하시면 되겠습니다.(물론 많은 차이가 있습니다.)일단 ArrayList의 장점은 배열의 크기를 임의로 변화시킬수 있다는 것과 List에 들어갈수 있는 타입들을 사용자가 직접 설정할수 있다는 것입니다. 일반적인 기본형 타입도 가능하고 자신이 만든 클래스의 객체 타입도 설정할수 있습니다.선언방..