반응형

전체 글 102

실행(계산, 출력)

숫자 자료형 - 정수(int) - 실수(float) - 복소수(complex) 사칙연산 · 나눗셈 연산자 / 정수와 정수 나눗셈하면 실수로 캐스팅되어 결과 출력됨. 12 / 3 = 4.0 · 나눗셈 후 소수점 버리는 연산자 // //은 버림 나눗셈(floor division)이라고 하며 나눗셈 후에 나오는 결과에서 소수점은 버리므로, 나눗셈의 몫을 구할 수 있다. 4 // 3 = 1 실수에서 사용하면 항상 소수점 자리는 .0이 된다. 6.2 // 3 = 3.0 ※ / 연산의 결과 : 실수 // 연산의 결과 : 정수 · 나눗셈 후 나머지 구하는 연산자 % 나눗셈 후 값이 나누어 떨어지지 않을 때의 나머지 값을 구하는 연산자로, 모듈로(modulo) 연산자라고도 한다. 11 % 5 = 1 · 거듭제곱을 구하..

PYTHON/공부 2022.07.25

PYTHON 기초

파이썬은 자바처럼 한 번에 컴파일하지 않고 한 줄 한 줄 실행하며 결과를 얻는 인터프리터 방식을 사용한다. 파이썬 셸 : 파이썬 코드를 입력해 실행하는 프로그램 파이썬 프롬프트 : 파이썬 셸을 통해 파이썬 코드를 해석해 주는 해석기 ※ 프롬프트가 나오면 코드나 계산식을 받을 준비가 된 상태임 ※ 파이썬 셸은 파이썬 인터프리터와 대화하 듯 코드를 실행한다고 하여 대화형 셸이나 interactive 모드라고도 한다. 이런 방식은 코드를 읽고 실행하고 출력한다고 하여 REPL(Read-Eval-Print-Loop)이라고 한다. 파이썬 코드를 저장한 .py 파일을 파이썬 스크립트라고 한다. 파이썬은 자바와 같이 대소문자를 구분한다 print()은 화면 표준 출력에 값을 출력하는 함수며, 안에 문자열 입력 시 '..

PYTHON/공부 2022.07.25

스레드

프로그램 : 파일들의 집합 프로세스 : 메모리 상에 로딩된 프로그램 멀티 프로세스 : 동일 프로그램 메모리에 여러 번 로딩하면 여러 개의 프로세스가 동작하는 것. 스레드 : CPU를 사용하는 최소 단위. CPU와 메모리의 작업 수행 속도 차 발생해서 CPU는 메모리의 프로세스 내부 스레드와 대화함. · 스레드 동시성 순차적 : 단일 스레드 작업 동시성 : 처리할 작업 수가 CPU의 코어 수보다 적을 때병렬성 : 처리할 작업 수가 CPU의 코어 수보다 많을 때 · 스레드 생성 방법 1. Thread 클래스 상속받아 run() 메서드를 오버라이딩2.① Runnable 인터페이스를 구현한 Runnable 객체를 생성 (run()메서드 사용)② Thread 객체를 생성할 때 생성한 Runnable 객체를 생성자..

JAVA/공부 2022.07.11

예외 처리

예외 처리 프로그램이 멈출 때까지 프로그램을 가동해 끝까지 잘 마무리 해주도록 하는 것, (프로그램 강제종료 되지 않도록) · 에러 : JVM 자체에서 발생하는 오류로, 개발자가 해결할 수 없는 오류. · 예외 : 개발자가 해결할 수 있는 오류. (해결보단 차선책을 하는 것..) · 예외 최상위 클래스 : Exception, 오류 최상위 클래스 : Error. 모두 Throwable 클래스를 상속받음. -> 예외와 오류 모두 Throwable 클래스의 기능을 포함한다. · Exception 클래스 1. 일반 예외 : Exception 클래스 직접 상속받는 예외 클래스. 컴파일 전에 예외 발생 문법을 검사. 예외 처리 하지 않으면 문법 오류 발생. 2. 실행 예외 : RuntimeException 클래스를..

JAVA/공부 2022.07.11

이너 클래스와 이너 인터페이스

이너 클래스 : 클래스 내부에 포함되는 클래스 이너클래스는 인스턴스 멤버 이너 클래스, 정적 이너 클래스, 지역 이너 클래스, 익명 이너 클래스로 나뉠 수 있다. 인스턴스 이너 클래스 객체 내부에 멤버의 형태로 존재. 자신을 감싸고 있는 아우터 클래스의 모든 접근 지정자의 멤버에 접근 가능하다. · 바이트 코드 표현 아우터 클래스 : 아우터 클래스.class 이너 클래스 : 아우터 클래스$이너 클래스.class ※ 이너 클래스는 단독으로 사용이 불가하고 반드시 아우터 클래스를 이용해야만 사용할 수 있다. · 객체 생성하기 이너 클래스의 객체를 생성하려면 아우터 클래스의 객체를 먼저 생성해야 한다. 아우터 클래스 객체의 참조변수를 통해 객체 내부 이너 클래스의 생성자를 아래와 같이 호출할 수 있다. 아우터..

JAVA/공부 2022.07.11

자바 완전 정복 14장 연습문제 풀이

Q1. 다음 예외 발생 코드와 예외의 종류를 연결하시오. Q2. 다음 코드의 try{} 구문과 catch(){} 구문에는 공통적인 코드가 포함돼 있다.finally{} 블록을 사용해 중복을 재거한 코드를 작성하시오. try { int a = 3; System.out.println(5/a); System.out.println("출력 내용 1"); System.out.println("출력 내용 2"); System.out.println("출력 내용 3"); } catch(ArithmeticException e) { System.out.println("예외 발생"); System.out.println("출력 내용 1"); System.out.println("출력 내용 2"); System.out.println..

자바 완전 정복 13장 연습문제 풀이

1번. 다음과 같이 클래스 내부에 이너 클래스와 이너 인터페이스가 위치할 때 컴파일 이휴 생성되는 모든 .class 파일명을 쓰시오. class A {//A.class class B {}//A$B.class interface C {}//A$C.class class D {//A$D.class void def() { //지역이너클래스 : 아우터클래스+$+숫자+지역이너클래스+.class class E {}//A$D$1E.class } } } 2번. 클래스 A 내부에 이너 클래스 B가 있을 때 다음 코드와 같이 b.bcd()의 결과가 "이너 클래스와 메서드"로 출력되도록 이너 클래스 객체를 생성하는 코드를 작성하시오(참조 변수명은 b로 정함). class A { class B { void bcd() { Syst..

자바 완전 정복 12장 연습문제 풀이

Q1. 다음은 추상 클래스 A를 상속해 클래스 B를 정의한 코드로, 오류를 포함하고 있다. 오류가 발생한 이유와 그 해결책을 쓰시오. abstract class A { abstract void abc(); } class B extends A { } 오류가 발생한 이유 오류 해결책 추상 클래스를 상속받은 일반 클래스 B에 추상 메서드가 구현되어 있지 않다. 일반 클래스는 추상 메서드를 상속받을 수 없다. 부모 클래스 A의 추상 메서드를 구현해주던가 클래스 B를 추상 클래스로 명시해 준다. Q2. 다음과 같이 클래스 A와 클래스 B의 상속 관계가 있을 때 실행 코드(a.abc())의 결과가 "안녕하세요"가 나오도록 클래스 B 내부의 코드를 완성하시오. abstract class A { abstract voi..

자바 완전 정복 11장 연습문제 풀이

Q1. 다음의 클래스 A는 오류를 포함하고 있다. 오류가 발생한 위치와 그 이유를 설명하시오. class A {//1 int a = 3;//2 fianl int b = 5;//3 A() {//4 a = 7;//5 b = 9;//6 }//7 }//8 오류가 발생한 행 번호 오류가 발생한 이유 6 3행에서 final 필드가 이미 정의되어 있는데 생성자에서 필드를 또 정의하고 있기 때문이다. final 변수는 한 번 값이 정의되면 다시 정의할 수 없다. 수정이 불가하다. Q2. 다음은 2개의 메서드를 포함하고 있는 클래스 A를 상속받아 클래스 B를 정의하는 코드로, 오류를 포함하고 있다. 오류가 발생한 위치와 그 이유를 설명하시오. 1class A { 2 void abc() { System.out.printl..

자바 완전 정복 10장 연습문제 풀이

Q1. 생성자의 2가지 문법적 조건은 무엇인가? 1. 클래스명과 동일한 이름을 가질 것 2. 리턴 타입은 가지지 않는다 Q2. 다음과 같은 상속 구조도가 있을 때 이를 코드로 작성하시오(클래스 내용은 작성하지 않음). class A {} class B extends A {} class C extends B {} class D extends B {} Q3. 다음과 같은 상속 관계에서 다형적 표현을 사용한 객체 생성 코드 중 올바른 것은 O, 잘못된 것은 X에 표시하시오. //다형적 표현 A a1 = new A();//O A a2 = new B();//O A a3 = new C();//O A a4 = new D();//O B b1 = new A();//X B b2 = new B();//O B b3 = new..

반응형