[JAVA] 클래스(class)와 객체(object) [클래스와 객체의 관계, 객체와 인스턴스]
·
◎ Java/Java☕
1. 클래스와 객체 - 클래스(class)란? 객체를 정의해놓은 것 or 객체의 설계도 또는 틀 클래스는 객체를 생성하는데 사용되며, 객체는 클래스에 정의된 대로 생성된다. 클래스의 정의 : 클래스란 객체를 정의해 놓은 것이다. 클래스의 용도 : 클래스는 객체를 생성하는데 사용된다. - 객체(object)란? 실제로 존재하는 것 → 클래스에 정의된 내용대로 메모리에 생성된 것 객체의 정의 : 실제로 존재하는 것. 사물 또는 개념 객체의 용도 : 객체가 가지고 있는 기능과 속성에 따라 다름 유형의 객체 : 책상, 의자, 자동차, TV와 같은 사물 무형의 객체 : 수학공식, 프로그램 에러와 같은 논리나 개념 - 클래스와 객체의 관계 제품 설계도와 제품과의 관계 ex) TV설계도(클래스)는 TV라는 제품(객체..
[JAVA] 객체지향언어(Object oriented)란? [객체지향이론의 기본개념 및 특징]
·
◎ Java/Java☕
1. 객체지향이론(Object oriented)의 기본 개념 기존 프로그래밍언어에서 상속, 캡슐화, 추상화 개념을 중심으로 점차 구체적으로 발전 실제 세계는 사물(객체)로 이루어져 있으며, 발생하는 모든 사건들은 사물간의 상호작용이다. 2. 객체지향언어의 특징 1. 코드의 재사용성이 높다. 새로운 코드를 작성할 때 기존의 코드를 이용하여 쉽게 작성할 수 있다. 2. 코드의 관리가 용이하다. 코드간의 관계를 이용해서 적은 노력으로 쉽게 코드를 변경할 수 있다. 3. 신뢰성이 높은 프로그래밍을 가능하게 한다. 제어자와 메서드를 이용해서 데이터를 보호하고 올바른 값을 유지하도록 하며, 코드의 중복을 제거하여 코드의 불일치로 인한 오동작을 방지할 수 있다. 참고문헌 : 남궁성(2016), Java의 정석, 도우출판
[JAVA] 다차원 배열의 활용(4) [영어 단어 맞추기 게임]
·
◎ Java/Java☕
- 다차원 배열 : 영어 단어 맞추기 게임 - 영어 단어 맞추기 게임 영어 단어를 보여주고, 해당 단어의 뜻을 맞추는 게임이다. 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) [행렬의 곱셈, 두 행렬을 곱한 결과]
·
◎ Java/Java☕
- 다차원 배열 : 행렬의 곱셈, 두 행렬을 곱한 결과 - 행렬의 곱셈 두 행렬(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) 만들기]
·
◎ Java/Java☕
- 다차원 배열 : 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..