c++ +생성자와 소멸자 생성자(Constructor) - 클래스가 메모리에 할당 될 때(객체가 생성될 때) 자동으로 호출된다. - 사용자가 정의하지 않으면, 컴파일 시 자동으로 내용 없는 빈 생성자를 제공하는데, 이것을 디폴트 생성자라 한다. - 클래스의 이름과 함수의 이름이 동일하다. - 반환형이 선언되어 있지 않으며, 실제로 반환하지 않는다. - 객체 생성시 딱 한번 호출된다. - 외부에서 참조해야 하기 때문에 접근 제어 지정자를 public에 두어야 한다.(예외적으로 내부에서 생성되고 소멸되는 경우에는 protected, private에 두어도 상관 없다.) └private 생성자 : 클래스 내부에서 객체를 생성한다면 생성자가 private로 선언되어야 한다. 객체의 생성방법을 제한하고자 하는 경..
객체지향언어 +주요특징 - 코드의 재사용성이 높다 : 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다. - 코드의 관리가 용이하다 : 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. - 신뢰성이 높은 프로그래밍을 가능하게 한다 : 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다. 클래스와 객체 +클래스란? - 객체를 정의해놓은 것, 객체의 설계도 또는 틀. (메모리에는 클래스의 데이터(멤버변수)와 같은 모습으로 저장된다. 메소드는 상관 없다.) +객체란? - 실제로 존재하는 것, 객체지향이론에서는사물과 같은 유형적인 것뿐만 아니라, 개념이나 논리와 같은 무형적인 것들..
======================================================== 문) 피연산자1 연산자 피연산자2 형식으로 입력 받아 계산하라. ======================================================== 숫자 문자 숫자 이걸 한 줄에 받아서 어떻게 읽어 오냐로 멍청하게 고민함 숫자는 Scanner.nextInt();로 각각 읽고 문자는 Scanner.next().charAt(0);로 읽어옴 Scanner의 next()라는 함수에 대해 개념이 부족했음 정리 java api The next() and hasNext() methods and their primitive-type companion methods (such as nextInt() a..
클래스 (복습) * 구조체는 연관 있는 데이터를 묶을 수 있는 문법적 장치 ex) struct Car{소유주,연료량,현재속도,취득점수,취득아이템} * C++에서는 기본 자료형 변수의 선언방식이나 구조체를 기반으로 정의된 자료형의 변수 선언방식에 차이가 없다. 즉, 별도의 typedef 선언 없이도 변수를 선언할 수 있다. * 조건부 컴파일() - 기존의 코드를 지우지 않고 활성화 비활성화 할 때 쓰인다. (C/C++에서 단어의 앞에 '#'이 오면 선행처리 지시자라고 한다. 선행처리 지시자는 소스 코드를 컴파일 하기 전에 프로그램 파일에 명시된 선행처리 지시자를 처리하게 된다.) - #ifndef ~ #endif ex) #ifndef _SLEX_H_ //ifndef(if not defined) 만약에 _S..
C++ new&delete (복습) *포인터연산자(->) *struct 정의 : struct 태그명 {항목...} 식별자 *구조체의 요소에 접근할 때에는 '.'을 이용하여 구조체의 '변수명.요소명'과 같은 형식을 사용한다. *ex) Point * pnt = new Point; (*pnt).xpos = 10; - pnt.xpos라고 하지 않고 (*pnt).xpos라고 사용한 이유는 '*'연산자보다 '.'연산자의 우선순위가 높기 때문에 ()를 생략하면 전혀 다른 의미로 해석되어 컴파일시에 오류가 발생한다. - 위와 같은 표현식을 줄인 약식 표현법으로는 '->'이 제공된다. ============================================================================..
참조자 참조자(Reference): 자신이 참조하는 변수를 대신할 수 있는 또 하나의 이름. ex) int num=10; //정수 10을 가지는 변수num선언 int &ref=num; //변수 num의 참조자 ref선언 - &연산자는 변수의 주소 값을 반환하는 연산자지만 새로 선언되는 변수의 이름 앞에 등장하면, 이는 참조자의 선언을 뜻하는 게 된다. 즉, [num ref(10)] - 참조자는 변수를 대상으로만 선언이 가능하고, 선언됨과 동시에 누군가를 참조해야만 한다.(int &ref=20;(X)) - 참조자는 별칭에 비유된다. - 참조자의 수에는 제한이 없으며, 참조자를 대상으로도 참조자를 선언할 수 있다. ex) int num=10; int &num2=num1; int &num3=num2; int ..