목록전체 글 (128)
운동하는 개발자의 메모장

- 키보드 입력 Scanner는 입력 관련 클래스이므로 객체를 통해 사용할 수 있습니다. import java.io.*; import java.util.Scanner;// Scanner 사용시 명시 필수! class Main { public static void main(String[] args) { int iVal; double dVal; Scanner scanner = new Scanner(System.in); System.out.print("정수를 입력해주세요 : "); iVal = scanner.nextInt(); System.out.println("입력 정수 : " + iVal); System.out.print("실수를 입력해주세요 : "); dVal = scanner.nextDouble(); ..

print() 메소드는 데이터를 줄 바꿈 없이 출력할 때 사용합니다. public void print(boolean b) public void print(char c) public void print(int i) public void print(long l) public void print(float f) public void print(double d) public void print(char[] s) public void print(String s) public void print(Object obj) print() 메서드는 여러 데이터 타입으로 오버로딩 되어있어 데이터 타입에 신경쓸 필요 없이 사용가능하도록 되어 있습니다. 주의할 점은 반드시 파라미터가 하나 있어야 한다는 것입니다. println(..
I. 사용자 관점의 테스트 방법, Black Box Test 가. Black Box Test의 정의 사용자가 소프트웨어 또는 제품에 대한 요구사항과 결과물이 일치하는 지 확인하기 위한 테스트 기법 나. Black Box Test 기법 동등 분할 기법 (Equivalence Partitioning 프로그램의 입력 도메인을 테스트 케이스가 산출될 수 있는 데이터 클래스로 분류하는 방법 경계값분석기법 (Boundary Value Analysis) 입력 조건의 중간 값보다 경계 값에서 에러가 발생 될 확률이 높다는 점을 이용하여 테스트 케이스를 생성 오류 예측 기법 (Error Guessing) 각 시험 기법들이 놓치기 쉬운 오류들을 감각 및 경험으로 찾아보는 방법 원인 결과 그래프 기법 (Cause Effec..

- 표준입출력 System.out.print 혹은 System.out.println을 사용하여 변수 값을 확인하거나 문자열을 출력할 수 있습니다. 이렇게 컴퓨터 내부의 데이터를 컴퓨터 외부로 보여주는 기능을 출력 기능이라고 합니다. 출력 기능을 담당하는 장치를 출력 장치라고 부르며, 모니터, 스피커, 프린터 등이 이에 해당합니다. 반대로 외부에서 컴퓨터 내부로 데이터를 입력할 수 있는 기능을 입력 기능이라고 합니다. 여기에는 마우스, 키보드, 마이크 등과 같은 입력장치 들이 사용됩니다. 현재 배우고 있는 프로그래밍 환경을 "콘솔"이라고 부릅니다. 콘솔은 대표적인 CLI(Command Line Interface) 개발 환경으로, CLI 환경은 글자를 이용한 입출력 환경을 뜻합니다. 이렇게 콘솔을 통하여 데..

- JAVA 표준 API API(Application Programming Interface)란 자바 시스템을 제어하기 위해서 자바에서 제공하는 명령어들을 의미합니다. JDK를 설치하면 자바 시스템을 제어하기 위한 API를 제공합니다. 자바 개발자들은 자바에서 제공한 API를 이용해서 자바 애플리케이션을 만들게 됩니다. 패키지 java.lang.*의 클래스들도 자바에서 제공하는 API 중의 하나라고 할 수 있습니다. 자바 플랫폼 위에서 동작하는 자바 애플리케이션을 개발하는 개발자들은 자바 API를 사용하게 되는데 자바에서 제공하는 API는 방대하기 때문에 이것을 이용하기 위해서는 API의 목록과 사용법이 체계적으로 정리된 문서를 이용할 수 있어야 합니다. 아래의 링크는 JAVA의 API 문서 페이지 입니..

오버로딩 메서드를 사용하는 방법 중 오버로딩(Overloading)이라는 기법이 있습니다. 오버로딩이란 메서드의 이름은 동일하게 정의하고 매개변수 혹은 리턴 값만 변경하여 정의하는 기법을 의미합니다. 이는 메소드의 사용성을 높여주는 방법입니다. import java.io.*; class Main { static int minus(int a, int b) { return a - b; } static double minus(double a, double b) { return a - b; } public static void main(String[] args) throws Exception { int result1 = minus(2, 5); System.out.println(result1); double re..
- 메서드 사용하기 메서드를 사용하려면 우선 메서드가 정의 되어 있어야 합니다. 메서드는 main 함수를 포함한 다른 메서드에서 사용 가능합니다. import java.io.*; class Main { static int minus(int a, int b) { return a - b; } public static void main(String[] args) throws Exception { int a = 1; int result = minus(a, 5); System.out.println(result); } } 위 예제는 int 형 변수 a, b를 매개변수로 하며 minus라는 이름을 가진 메서드를 정의하고, minus 메서드를 main 함수 내에서 사용하는 예제입니다. minus 메서드는 int 형 변..

메서드는 main 메서드와 사용자 정의 메서드 두 개로 나누어지는데, 사용자 정의 메서드는 앞에서 설명했던 프로그래머가 정의하여 사용하는 메서드이며 main 메서드는 특별한 용도로 사용됩니다. main 메소드는 모든 프로그램에서 오직 하나만 존재하는 메서드입니다. 자바 프로그램은 main 메서드로부터 시작되어 main 메서드의 끝과 함께 종료됩니다. import java.io.*; class Test { public static void main(String[] args) { for(int i = 1 ; i

- 메서드의 기본 메서드는 함수와 같은 역할을 하며 프로그래밍 과정에서 코드의 간결성을 높여줍니다. 위 그림과 같이 변수 혹은 상수를 입력하면 메서드 내부에서 연산을 거친 뒤 결괏값을 출력합니다. 즉, 메서드에는 입력과 출력이 존재합니다. 이 개념을 좀 더 자세히 설명하며 메서드와 관련된 용어 및 몇 가지를 짚어보겠습니다. 입력은 매개변수 혹은 파라미터(Parameter)라고 부릅니다. 입력은 전혀 없을 수도, 무한히 많을 수도 있으며 void를 제외한 모든 자료형을 파라미터로 사용할 수 있습니다. 이때 매개변수로 선언된 변수들은 메서드 내에서 지역변수(지정된 범위 안에서만 사용할 수 있는 변수)처럼 사용할 수 있습니다. 출력은 return value(리턴 값)이라고 부르며, 메서드가 종료된 뒤 최종으로..

- 배열과 반복문 배열은 반복문과 함께 사용하는 경우가 많습니다. 많은 양의 데이터를 처리하고자 만든 자료형이기 때문에 각각의 데이터를 제어할 시 반복문을 통해 중복되는 작업을 빠르게 진행할 수 있습니다. 아래 예제를 통해 for 문과 배열을 조합하여 사용하는 법을 알아봅시다. import java.io.*; class Main { public static void main(String[] args) { int iArraySize = 20; int [] Array = new int[iArraySize]; for(int j = 0 ; j < iArraySize ; j++) { Array[j] = j; } for(int j = 0 ; j < iArraySize ; j++) { System.out.printl..

- 배열의 선언 배열(Array)은 변수 혹은 상수의 모음입니다. 어떠한 자료형에도 사용 가능하며, 메모리 공간에 할당될 때에는 배열에 포함된 요소들이 연속 할당되는 것이 특징입니다. 단, 하나의 배열은 하나의 자료형으로 통일되며, 이는 일반적인 변수와는 사용법이 조금 다릅니다. import java.io.*; class Main { public static void main(String[] args) { int [] Array = new int[10]; } } 5번째 줄에 대괄호와 함께 Array 가 선언되어 있습니다. 바로 배열이 선언된 부분입니다. 먼저 대입 연산자 왼쪽에 위치한 int [] Array를 살펴보겠습니다. Array라는 int 형 변수를 선언했는데 int와 Array 사이에 대괄호("..

- break문 break 문은 switch 문 및 반복문을 벗어나기 위한 문법으로, break 문을 만나면 그 즉시 반복문 혹은 switch 문이 종료됩니다. import java.io.*; class Main { public static void main(String[] args) { int a = 1; while(true) { System.out.println(a++); if(a > 5) { break; } } } } while 문의 조건만 따져보면 처리 조건이 true 이므로 무한 루프 상태인 반복문 입니다만, 실행 내용에 a의 값이 5보다 크면 반복문을 종료하는 break 문이 존재합니다. 따라서 1부터 5까지 출력된 후 프로그램이 종료되는 것을 확인할 수 있습니다. 이는 for 문의 경우에도 ..

- while 문 while 문은 for 문에 비해 간단한 구조를 가지고 있습니다. for 문은 변수 초기화, 실행 조건, 증감식 등 여러 가지 조건이 필요하지만 while 문은 오직 실행 조건만으로 동작 하게 됩니다. while 문의 사용 방법은 아래와 같습니다. while( /* true 혹은 false 형태의 동작 조건 */ ) { // 처리 내용 } for 문에 비해 형태가 매우 간소합니다. import java.io.*; class Main { public static void main(String[] args) { int a = 1; while(a < 3) { int b = 0; System.out.println(a + " " + b); a++; b++; } // while 문 종료 } } 위..

- for 문 반복문은 같은 처리를 반복 실행하는 문법으로, 소스코드의 효율성과 코드의 가독성을 높이는 역할을 합니다. 반복문은 for, while, do-while 세가지 문법이 있습니다. 먼저 for문에 대하여 알아보겠습니다. for 문은 반복문 중에서 가장 많이 쓰이며, for 문은 시작 조건, 실행 조건, 증감식 세 가지로 이루어집니다. for( /* 시작조건 */ ; /* 실행조건 */ ; /* 증감식 */ ) { // 반복 내용 } for 문의 기본 형태는 위의 예제와 같습니다. 1. for ( /* 시작 조건 */ ; /* 실행 조건 */ ; /* 증감식 */ ) 시작 조건에서는 변수 1개를 선언하거나 for문 바깥에서 선언된 변수의 값을 바꿀 수 있습니다. 만약 시작조건에서 변수를 선언했다..

switch 문은 if 문처럼 조건에 의해 소스코드를 실행하거나 혹은 실행되지 않도록 만들어 줄 수 있는 문법입니다. 비슷한 기능을 수행하지만 각 문법 사이의 장단점이 존재하므로 상황에 따라 적절한 문법을 사용해야 합니다. switch 문은 if 문과 다르게 int형 조건을 기본으로 가집니다. char 형도 int 형으로 표현할 수 있기에 char 형 또한 가능합니다. switch 문은 case 문과 default 문으로 구성되어 있습니다. 1. case 문 shitch 문 내에서 여러 번 사용할 수 있습니다. case 문 뒤에는 switch의 조건을 만족하는 숫자를 적고 콜론( : )을 적어줍니다. 만약 case 문의 숫자가 switch 문의 조건을 만족하는 숫자인 경우, 해당하는 case 문부터 br..

else문은 if 문을 사용하는 것까지는 동일하지만 뒤에 else가 추가되면서 조금 더 고차원적인 프로그래밍이 가능합니다. else 문은 단독으로 사용할 수는 없는 if 문 뒤에 붙어서 사용되는 문법으로, if 조건을 만족하지 않을 시 동작합니다. import java.io.*; class Main { public static void main(String[] args) { int a = 4; if(a == 3 || a == 5) { System.out.println("A가 3또는 5입니다."); } else { System.out.println("A가 3또는 5가 아닙니다."); } } } 위 예제를 살펴보면 앞에서 배웠던 if 문이 중괄호로 끝난 뒤 else 문이 이어 작성된 것을 알 수 있습니다. ..

- if 문 if는 "만약에" 라는 뜻을 가진 영어 단어이며, 프로그래밍에서도 "만약에 X라는 조건일 때"라는 뜻으로 사용됩니다. import java.io.*; class Main { public static void main(String[] args) { int a = 5; if(a 3) { System.out...

- 연산자의 우선순위 연산자가 한 줄의 코드에 여러 개 존재할 경우, 각 연산자가 실행되는 순서는 연산자의 우선순위에 의해 실행됩니다. - 문자열의 연결 (+) 연산자는 산술연산자의 덧셈 연산자로 사용되지만, 문자열을 결합할 때도 사용할 수가 있습니다. import java.io.*; class Main { public static void main(String[] args) { int i = 3; int j = 1; // 문자열 연결을 사용하지 않고 표시 System.out.print("1줄의 문자열을 "); System.out.print(i); System.out.println("줄의 코드로 표시하고 있습니다."); // 문자열 연결을 사용해서 표시 System.out.println("실은 " + j..

- 비교 연산자 비교 연산자는 연산자의 좌우 값을 비교하는 연산자입니다. 산수의 부등호와 같은 역할을 수행하며, 결과는 boolean형(true 혹은 false)로 반환됩니다. import java.io.*; class Main { public static void main(String[] args) { int a = 4; int b = 3; System.out.println( a < b ); } } 위 예제 코드에서 int형 변수 a, b는 각각 4와 3이라는 숫자로 초기화되었고, 6번째 줄을 보면 a < b에 비교 연산자가 사용되었습니다. a와 b에 대입된 값을 적용해 보면 "4 < 3"라는 비교 연산으로 볼 수 있습니다. 그런데 4는 3보다 큰 숫자이므로 4 < 3은 잘못된 조건이므로 false가 ..

- 복합 대입 연산자 복합 대입 연산자는 대입 연산자와 산술 연산자가 합쳐진 모습을 가지고 있습니다. 그 종류로는 +=, -=, *=, /=, %= 이 있으며, 연산자 왼쪽 값에 오른쪽 값을 산술 연산한 후 그 결과 값을 왼쪽에 대입합니다. import java.io.*; class Main { public static void main(String[] args) { int a = 1; a += 2;// a = a + 2; 와 같음 System.out.println(a); int b = 5; b -= 1;// b = b - 1; 과 같음 System.out.println(b); int c = 2; c *= 3;// c = c * 3; 과 같음 System.out.println(c); int d = 6; ..

프로그래밍을 하다보면 어쩔 수 없이 자료형을 변환해주어야 하는 상황이 발생합니다. 그럴 때는 형변환(Type Casting)이라는 방법을 이용해 자료형을 변환할 수 있습니다. - 명시적 형변환 import java.io.*; class Main { public static void main(String[] args) { double varDouble = 98.76; int varInteger = varDouble; System.out.println(varInteger); } } 4번째 줄을 보면 double형 변수 varDouble에 98.76이라는 값을 저장하고, 5번째 줄에서 varDouble의 값을 int형 변수 varInteger에 대입을 하고 있습니다. 위 프로그램을 실행해보면 실수값을 정수형에..

연산자(Operator)란? 연산이라는 말의 사전적 정의를 찾아보면, "수, 함수 등에서 일정한 법칙에 따라 결과를 내는 조작"이라고 풀이되어 있습니다. 그렇다면 연산자는 "수, 함수 등에서 일정한 법칙에 따라 결과를 내는 조작을 위한 인자"라는 뜻이 됩니다. 사전적 풀이로 보면 조금 어렵게 들리지만, 쉽게 풀이하자면 우리가 일상생활에서 사용하는 더하기, 빼기, 곱하기, 나누기가 연산자라고 생각하시면 됩니다. 즉, 프로그래밍에서 연산자는 변수나 상수의 연산을 위해 사용하는 부호라고 생각하면 좋습니다. - 대입 연산자(=) 대입 연산자(=)는 가장 기본으로 알아두어야 할 연산자입니다. import java.io.*; class Main { public static void main(String[] args..

변수의 명명규칙 변수의 이름을 지을때는 여러가지 규칙이 존재합니다. 사용할수 있는 문자는 알파벳 'a'~'z', 'A'~'Z', 숫자 '0'~'9', 특수문자 '_'(언더바), '$'(달러)가 있습니다. 알파벳은 대소문자가 구별됩니다. 선두문자는 숫자 '0'~'9'는 사용할 수 없습니다. Java의 키워드(예약어 or 명령어)는 사용할 수 없습니다. 길이에 대한 제한은 없습니다. 아래는 변수를 선언하여, 값을 설정해보고, 변수에 저장된 값을 콘솔창에 출력해볼 수 있는 소스코드 입니다. class Ex3_1 { public static void main(String args[]) { int x; // 변수명 x로 int형 변수 선언 double pi; // 변수명 pi로 double형 변수 선언 char ..

변수란 데이터를 저장하는 공간으로 처리에 의해 언제든지 값이 변할 수 있습니다. 하지만, 상수(constant)는 한번 값이 정해지면 절대 변하지 않는 항상 같은 값입니다. 자바에서는 상수를 변수와 동일한 방법으로 사용하고 있는데, 다른 점은 변수의 타입 앞에 키워드 'final'을 붙여주는 것입니다. final int MAX_SPEED = 10; 일단 상수에 값이 저장되면 이후 값을 변경하는 것은 허용되지 않습니다. 리터럴(literal) 본래 프로그래밍에서는 12, 3.45, 'A'와 같은 실제 값을 의미하는 것을 '상수' 라고 하는데, 자바에서는 상수를 '값을 한번 저장하면 변경할 수 없는 저장공간'으로 정의하였기 때문에 이와 구분하기 위해 다른 이름인 리터럴(literal)을 사용합니다. 용어 자..

변수란? 프로그램에서는 여러 가지 종류의 데이터를 다루기 위해서는 그 데이터를 저장할 수 있는 저장공간이 필요합니다. 그 저장 공간을 변수(variable)라고 합니다. 데이터를 저장하기 위한 저장공간, 즉 변수가 필요하다면 먼저 변수를 선언해야 합니다. 변수를 선언하는 방법은 다음과 같습니다. 데이터타입 변수 이름; 데이터 타입(자료형)*은 변수에 저장할 값이 어떤 것이냐에 따라 달라지며, 변수이름(변수명)은 저장공간이 서로 구별될 수 있어야 하기 때문에 필요합니다. 변수의 데이터 타입(자료형)* 변수를 선언할 때, 변수에 저장할 값의 종류에 따라 데이터 타입(자료형)을 선택해야 하는데, 데이터 타입에는 기본형과 참조형이 있습니다. 1. 기본형 자료형(데이터 타입)의 기본형은 변수를 선언하게 되면, 메..