분류 전체보기(324)
-
[Java] 접근 지정자
패키지 - 서로 관련 있는 클래스 파일들을 패키지(Package)에 저장하여 관리 - 패키지 ≒ 디렉토리/폴더 4가지 접근 지정자 - private / protected / public / defaule(접근 지정자 생략) 클래스 접근 지정 public 클래스 - 패키지에 상관없이 다른 어떤 클래스에게도 사용이 허용 -> 모두 허용 public class World{ .... } default 클래스 (접근 지정자 생략) - 같은 패키지 내의 클래스들에게만 사용이 허용 class Local{ .... } 멤버 접근 지정 - 공개 범위(오름차순) : private -> default -> protected -> public 멤버에 접근하는 클래스 멤버의 접근 지정자 private default protec..
2021.11.19 -
[Java] 메소드 오버로딩
메소드 오버로딩 (Method Overloading) - 한 클래스내에 이름이 같지만, 매개변수의 타입 or 개수가 서로 다른 여러 개의 메소드를 중복 작성하는 것 - 자바 다형성의 한 경우 - 자바 컴파일러에 의해 판단 조건 1. 메소드 이름이 동일 2. 매개변수의 개수 or 타입이 서로 달라야 함 ※ 메소드의 리턴 타입, 접근 지정자는 메소드 오버로딩과 관계 X 성공 사례 1) class MethodOverloading{ public int getSum(int i, int j){ return i+j; } public int getSum(int i, int j, int k){ return i+j+k; } } ≫ 메소드의 이름 동일 (getSum) ≫ 매개변수의 개수가 서로 다름 ( getSum(int ..
2021.11.19 -
[Java] 객체 배열 / 메소드
객체 배열 - 객체에 대한 레퍼런스를 원소로 갖는 배열 class Circle{ int radius; public Circle(int radiut){ this.radius = radius; } public double getArea(){ return 3.14*radius*radius; } } 1. 배열에 대한 레퍼런스 선언 - 배열의 크기를 지정하면 컴파일 오류 발생 Circle[] c; 2. 레퍼런스 배열 생성 c = new Circle[5]; 3. 객체 생성 for(int i=0; i 호출자(Caller)가 건네는 값이 매개변수에 복사되어 전달 -> 메소드의 매개변수 : 변경 O / 호출된 실제 인자의 값 : 변경 X ..... static void increase(int m){ m = m + 1; ..
2021.11.19 -
[Java] 클래스 / 객체
클래스-객체 클래스 - 객체를 만들기 위한 설계도/틀 - 객체의 속성/행동 포함 객체 - 클래스(캡슐)의 모양 그대로 찍어낸 실체 프로그램 실행 중에 생성되는 객체 메모리 공간을 갖는 구체적인 실체 인스턴스(Instance)라고도 불림 - 클래스 : 객체 = 1 : M ※ Example - 클래스 : 사람 / 객체 : 홍길동, 가나다,... - 클래스 : 자동차 / 객체 : BMW, 페라리,... 클래스 구성 ≫ 클래스 선언 (class Circle) - 중괄호{} 안에 필드(field), 메소드(method)를 모두 작성 - 클래스 외부에는 어떤 필드나 메소드도 올 수 없다 (캡슐화의 원칙) ≫ 필드/메소드 - 필드 : 변수 (radius, name) - 메소드 : 함수 (Circle(), getAre..
2021.11.18 -
[Java] 객체 지향 언어의 특성
1. 캡슐화 (Encapsulation) - 객체를 캡슐로 싸서 내부를 보호하고 볼 수 없게 하는 것 (가장 본질적 특성) - 외부의 접근으로부터 안전 클래스 (Class) - 클래스(class) : 객체 모양을 선언한 틀 (캡슐화) 필드 (멤버 변수) 메소드 (멤버 함수) 클래스 (필드, 메소드)로 구성 객체 (Object) - 클래스의 모양대로 생성된 실체 - 객체 내 데이터에 대한 보호, 외부 접근 제한 2. 상속 (Inheritance) - 자식 클래스가 부모 클래스의 속성을 물려받고 기능을 추가하여 확장(extends) - 자식 클래스 = 서브 클래스(Sub Class) / 부모 클래스 = 슈퍼 클래스(Super Class) - 서브 클래스 객체 = 슈퍼 클래스 멤버 + 서브 클래스 멤버 3. ..
2021.11.18 -
[명품 Java] 3장 실습문제 (반복문과 배열 그리고 예외 처리)
[01] 다음 프로그램에 대해 물음에 답하라 int sum = 0, i = 0; while (i < 100) { sum = sum + i; i += 2; } System.out.println(sum); (1) 무엇을 계산하는 코드이며 실행 결과 출력되는 내용은? 출력 = 2450 목적 = 0 ~ 99까지 2의 배수들의 합 (2) 위의 코드를 main() 메소드를 만들고 WhileTest 클래스로 완성하라. package chap03.Solution1; public class WhileTest { public static void main(String[] args) { int sum = 0; int i = 0; while (i < 100) { sum += i; i += 2; } System.out.prin..
2021.11.17 -
[명품 Java] 3장 연습문제 (반복문과 배열 그리고 예외 처리)
[01] 다음 프로그램의 출력 결과는 무엇인가? 그리고 무엇을 하는 코드인가? for(int i=1; i10; i++) sum++; 4. for(int i=0; i int[] n = new int[3]; [06] 다음 코드에 대해 실행 중 오류가 발생하는 것은? int array [] = {1, 2, 3, 4, 5}; 1. array[0] = -1; 2. int list [] = array; 3. System.out.println(array[4]); 4. array[array.length] = 100; 4. array.length = 5인데 현재 array의 max_index는 4이므로 ArrayIndexOutOfBoundsException이 발생한다 [07] 배열을 선언하고 생성하는 다음 물음에 답하라..
2021.11.16 -
[명품 Java] Open Challenge-3 (카드 번호 맞추기 게임)
숨겨진 카드의 수를 맞추는 게임을 만들어보자. 0~99까지의 임의의 수를 가진 카드를 한 장 숨기고 이 카드의 수를 맞추는 게임이다. 아래의 화면과 같이 카드 속의 수가 77인 경우를 보자. 수를 맞추는 사람이 55라고 입력하면 "더 높게", 다시 70을 입력하면 "더 높게"라는 식으로 범위를 좁혀가면서 수를 맞춘다. 게임을 반복하기 위해 y/n을 묻고, n인 경우 종료된다. package chap03; import java.util.Scanner; public class OpenChallenge { static int RANDOM_NUMBER; static int lowerBound = 0; static int upperBound = 99; static int guess; static int index..
2021.11.16 -
[컴퓨터구조] 컴퓨터의 기본 구조
컴퓨터 시스템 하드웨어 (Hardware) - 컴퓨터에서 각종 정보의 전송 통로 제공 - 정보에 대한 처리가 실제 일어나게 해주는 물리적 실체들 - 컴퓨터의 정보처리 능력 -> 얼마나 다양한 기능들을 어느 정도의 속도로 수행해줄 수 있는지 ※ 컴퓨터 하드웨어 주요 요소 소프트웨어 (Software) - 정보들이 이동하는 방향, 정보처리의 종류를 지정 - 이러한 동작들이 수행할 시간을 지정해주는 명령(Command)들의 집합 - 하드웨어가 제공해주는 기능들을 이용하여 최종적인 결과를 얻을 수 있도록 도와줌 ≫ 시스템 소프트웨어 : OS(Window 10, Unix, Linux,...), 각종 유틸리티 프로그램들(프린터 드라이버,...) ≫ 응용 소프트웨어 : 워드프로세서, 웹브라우저, MS-Excel,....
2021.11.15 -
[명품 Java] 2장 실습문제 (자바 기본 프로그래밍)
[01] Scanner 클래스를 이용하여 원화를 입력받아 달러로 바꾸어 다음 예시와 같이 출력하는 프로그램을 작성하라. $1=1100원으로 가정하고 계산하라. package chap02; import java.util.Scanner; public class Solution1 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("원화를 입력하세요(단위 원) >> "); int money = Integer.parseInt(sc.nextLine()); System.out.println(money + "원은 $" + exchangeWonToDollar(money) + "입니다."); sc.c..
2021.11.13 -
[명품 Java] 2장 연습문제 (자바 기본 프로그래밍)
[01] 자바에서 클래스를 선언할 때 사용하는 자바의 키워드는? class 키워드 [02] public class SampleProgram{ int i; int j; i = 10; j = 20; System.out.println(i+j); } (1) 오류를 찾아내어 고쳐라 - main() 메소드가 없다 public class SampleProgram{ public static void main(String[] args){ int i; int j; i = 10; j = 20; System.out.println(i+j); } } (2) 이 자바 클래스를 저장하는 소스 파일 이름은 무엇인가? SampleProgram.java (3) 명령창에서 이 프로그램을 컴파일하는 명령은? javac SampleProgra..
2021.11.13 -
[SQLD] 2-17. 절차형 SQL
PL/SQL - Block구조로 되어있고 Block내에 DML문장, QUERY문장, 절차형 언어(IF, LOOP) 등 사용 가능 - 절차적 프로그래밍을 가능하게 하는 트랜잭션 언어 - 다양한 저장 모듈 개발 특징 - Block 구조로 되어있어 각 기능별로 모듈화 가능 - 변수, 상수 등을 선언해서 SQL 문장 간 값을 교환 - IF, LOOP 등의 절차형 언어를 사용해서 절차적 프로그램이 가능하도록 함 - DBMS 정의 에러/사용자 정의 에러를 정의하여 사용 가능 - PL/SQL은 Oracle에 내장되어 있어서 Oracle, PL/SQL을 지원하는 어떤 서버로도 프로그램을 옮길 수 있다 - PL/SQL은 응용 프로그램의 성능을 향상시킨다 - 통신량을 줄일 수 있다 구조 - DECLARE BEGIN ~ E..
2021.11.06