본문 바로가기

전체 글

(115)
[Java] 이름, 합, 평균 출력 이름과 3개의 정수 입력, 이름, 합, 평균을 출력하는 프로그램 package c0rinne; import java.util.Scanner; // 해당 패키지의 클래스 또는 인터페이스 사용 public class c0rinne { // 주 클래스 public static void main(String[] args) { // main() int x, y, z, sum, avg; // 필드 String name; Scanner sc = new Scanner (System.in); // 표준 입력을 매개변수로 하여 Scanner 클래스 객체 생성 System.out.println("이름 입력: "); // 출력 name = sc.next(); // 문자 입력 System.out.println("정수 입력: "..
[Java] 이클립스 설치 방법 이클립스는 무료 오픈 소스 통합 개발 환경 (IDE: Integrated Development Environment)인데 여기서 IDE란 프로젝트 생성, 자동코드 완성, 디버깅 등과 같이 개발에 필요한 여러 가지 기능을 통합적으로 제공해주는 툴입니다 기본적으로 자바 프로그램을 개발할 수 있도록 구성되어 있어요 https://www.eclipse.org/ The Community for Open Innovation and Collaboration | The Eclipse Foundation The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 415 open source projects, includ..
[C++] C++ ESPRESSO 중간 점검 3-13 중간 점검 (506p) 1. 스트림의 장점은 무엇인가? 스트림의 최대 장점은 장치 독립성이다. 입출력 장치에 상관없이 프로그램을 작성할 수 있다는 것이다. 2. 사용자로부터 입력을 받아 파일에 저장하는 프로그램을 작성하라. 중간 점검 (510p) 1. 정수 10은 텍스트 파일에서 어떻게 저장되는가? ‘1’ → 00110001 2. 정수 10은 이진 파일에서 어떻게 저장되는가? ‘1’ → 00000000 중간 점검 (515p) 1. 파일의 처음으로 파일 위치 표시자를 이동시키는 문장을 작성하라. is.seekg(ios::beg); 2. 파일의 끝으로 파일 위치 표시자를 이동시키는 문장을 작성하라. is.seekg(ios::end, 0);
[C++] C++ ESPRESSO 중간 점검 3-12 중간 점검 (474p) 1. 변수의 절대값을 구하는 int abs(int x)를 함수 템플릿으로 정의하여 보라. 2. 두 수의 합을 계산하는 int add(int a, int b)를 함수 템플릿으로 구현하여 보자. 3. displayArray()라는 함수는 배열을 매개 변수로 받아서 반복 루프를 사용하여 배열의 원소를 화면에 출력한다. 어떤 타입의 배열도 처리할 수 있도록 함수 템플릿으로 정의하여 보라. 중간 점검 (482p) 1. 클래스 템플릿 형태로 라이브러리를 제공하면 어떤 장점이 있는가? 템플릿은 아무리 많이 있더라도 코드의 크기를 증가시키지 않는다. 라이브러리 안의 템플릿 중에서 사용자가 실제로 타입 매개 변수를 주어 사용한 템플릿만 코드로 변환된다. 나머지 템플릿은 코드 공간을 차지하지 않는다..
[C++] C++ ESPRESSO 중간 점검 3-11 중간 점검 (436p) 1. 예외는 어떤 경우에 발생하는가? 잘못된 코드, 부정확한 데이터, 예외적인 상황에 의하여 오류가 발생할 수 있다. 예) 0으로 나누는 것과 같은 잘못된 연산이나 배열의 인덱스가 한계를 넘을 수도 있다. 디스크에서는 하드웨어 에러가 발생할 수 있다. 반드시 있어야 할 파일이 없을 수도 있고 네트워크가 다운될 수도 있다. 2. 예외를 처리하는 경우와 처리하지 않은 경우를 비교하여 보라. 처리할 때의 장점은 무엇인가? 대개의 경우 오류가 발생하면 프로그램이 종료된다. 그러나 무조건 종료하는 것보다 프로그램에서 오류를 감지하여 우아하게 프로그램을 종료하거나 오류를 처리한 후에 계속 실행할 수 있다면 더 나은 프로그램이 될 수 있다. 중간 점검 (441p) 1. try 블록에서 예외가 ..
[C++] C++ ESPRESSO 중간 점검 2-10 중간 점검 (385p) 1. 프렌드 함수란 무엇인가? 클래스의 내부 데이터에 접근할 수 있는 특수한 함수 2. 어떤 경우에 프렌드 함수가 유용한가? 두 개의 객체를 비교할 때 많이 사용된다. 3. 두 개의 Vector 객체를 더하는 프렌드 함수를 정의하라. Complex add(Complex a1, Complex a2) { return Complex(a1.re + a2.re, a1.im + a2.im); } 중간 점검 (391p) 벡터 사이의 뺄셈 연산자 – 를 중복하여 보자. Vector operator-(Vector& v2) { Vector v; v.x = this -> x + v2.x; v.y = this -> y + v2.y; return v; } 2. 두 개의 벡터가 같은지를 검사하는 == 연산..
[C++] C++ ESPRESSO 중간점검 2-9 중간 점검 (349p) 1. 부모 클래스 포인터 변수는 자식 클래스 객체를 참조할 수 있는가? 그 역은 성립하는가? 2. 다형성은 어떤 경우에 유용한가? 메시지를 보내는 측에서는 객체가 어떤 타입인지 알 필요가 없다. 새로운 도형이 추가되어도 main()의 루프는 변경할 필요가 없다. 3. 부모 클래스 포인터로 자식 클래스에만 정의된 함수를 호출할 수 있는가? 중간 점검 (359p) 1. 가상 함수를 사용하면 어떤 장점이 있는가? 만약 Shape 포인터를 통하여 멤버 함수를 호출하더라도 도형의 종류에 따라서 서로 다른 draw()가 호출된다면 상당히 유용할 것이다. 2. 동적 바인딩과 정적 바인딩을 비교하라. 동적 바인딩: 바인딩이 실행 시까지 연기되고 실행 시간에 실제 호출되는 함수를 결정하는 것 정적..
[C++] C++ ESPRESSO 중간 점검 2-8 중간 점검 (306p) 1. 상속은 왜 필요한가? 상속을 사용하면 중복되는 코드를 줄일 수 있다. 2. 사자, 호랑이, 고양이를 상속 계층 구조를 이용하여 표현하여 보자. 사자, 호랑이, 고양이는 동물이다. (is-a 관계) 중간 점검 (309p) 1. protected가 의미하는 바는 무엇인가? 자식 클래스에서는 마음대로 사용할 수 있지만 외부에서는 접근할 수 없다. 2. 부모 클래스에서 private으로 선언된 변수를 자식 클래스에서 사용할 수 있는가? 사용할 수 없다. 3. 자식 클래스의 객체 obj를 통하여 부모 클래스에서 protected로 선언된 변수 x를 사용할 수 있는가? 즉, obj.x = 10;과 같은 문장을 작성할 수 있는가? 중간 점검 (314p) 1. 상속에서 자식 클래스의 생성자..