◎ Java/Java☕
[JAVA] 객체지향언어(Object oriented)란? [객체지향이론의 기본개념 및 특징]
1. 객체지향이론(Object oriented)의 기본 개념 기존 프로그래밍언어에서 상속, 캡슐화, 추상화 개념을 중심으로 점차 구체적으로 발전 실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다. 2. 객체지향언어의 특징 1. 코드의 재사용성이 높다. 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다. 2. 코드의 관리가 용이하다. 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 3. 신뢰성이 높은 프로그래밍을 가능하게 한다. 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다. 참고문헌 : 남궁성(2016), Java의 정석, 도우출판
[JAVA] 다차원 배열의 활용(4) [영어 단어 맞추기 게임]
- 다차원 배열 : 영어 단어 맞추기 게임 - 영어 단어 맞추기 게임 영어 단어를 보여주고, 해당 단어의 뜻을 맞추는 게임이다. String[][] words = { {"chair", "의자"}, // words[0][0], words[0][1] {"computer", "컴퓨터"}, // words[1][0], words[1][1] {"integer", "정수"}, // words[2][0], words[2][1] }; words[i][0]은 문제이고, words[i][1]은 답이다. Scanner scanner = new Scanner(System.in); for(int i = 0 ; i < words.length ; i++) { System.out.printf("Q%d. %s의 뜻은? ", i + 1..
[JAVA] 다차원 배열의 활용(3) [행렬의 곱셈, 두 행렬을 곱한 결과]
- 다차원 배열 : 행렬의 곱셈, 두 행렬을 곱한 결과 - 행렬의 곱셈 두 행렬(matrix)을 곱한 결과를 출력한다. int[][] m1 = { {1, 2, 3}, {4, 5, 6} }; int[][] m2 = { {1, 2}, {3, 4}, {5, 6} }; 두 행렬의 곱셈이 가능하려면, m1의 열의 길이와 m2의 행의 길이가 같아야 한다는 조건이 있다. 위의 경우에는 m1이 2행 3열이고, m2가 3행 2열이므로 곱셈이 가능하다. final int ROW = m1.length; // m1의 행 길이 final int COL = m2[0].length; // m2의 열 길이 final int M2_ROW = m2.length; // m2의 행 길이 int[][] m3 = new int[ROW][COL..
[JAVA] 다차원 배열의 활용(2) [5X5 빙고(BINGO) 만들기]
- 다차원 배열 : 5X5 빙고(BINGO) 만들기 - 5X5 빙고 게임(BINGO) 5X5 빙고판을 만들고 입력받은 숫자를 빙고판에서 지운다. // 배열의 모든 요소를 1부터 SIZE*SIZE까지의 숫자로 초기화 for(int i = 0 ; i < SIZE ; i++) { for(int j = 0 ; j < SIZE ; j++) { bingo[i][j] = i*SIZE + j + 1; } } // 배열에 저장된 값을 뒤섞는다.(shuffle) for(int i = 0 ; i < SIZE ; i++) { for(int j = 0 ; j < SIZE ; j++) { x = (int)(Math.random() * SIZE); y = (int)(Math.random() * SIZE); // bingo[i][j..
[JAVA] 다차원 배열의 활용(1) [상대방의 배 위치를 알아내는 게임]
- 다차원 배열 : 상대방의 배 위치를 알아내는 게임 - 상대방의 배 위치를 알아내는 게임(좌표에 X표하기) 둘이 마주 앉아 다양한 크기의 배를 상대방이 알지 못하게 배치한 다음, 번갈아가며 좌표를 불러서 상대방의 배의 위치를 알아내는 게임이다. final int SIZE = 10; int x = 0, y = 0; char[][] board = new char[SIZE][SIZE]; byte[][] shipBoard = { // 1, 2, 3, 4, 5, 6, 7, 8, 9 { 0, 0, 0, 0, 0, 0, 1, 0, 0 }, // 1 { 1, 1, 1, 1, 0, 0, 1, 0, 0 }, // 2 { 0, 0, 0, 0, 0, 0, 1, 0, 0 }, // 3 { 0, 0, 0, 0, 0, 0, 1,..