본문 바로가기

웹_프론트_백엔드/JAVA

(40)
2020.02.11 1. 배열을 통해 규칙성이 없는 것에도 규칙성을 부여할 수 있다. 2. 클래스 배열 : 각 방에 객체가 있다. 따라서 한 번 접근해도 필드의 주소값이다. 클래스명[] 배열명 = {new 생성자(), new 생성자(),....}; 3. 오늘 실습코드 1) Road package day20; import java.util.Scanner; //모든 자동차는 비밀번호가 있다. //처음 출고시 자동차 비밀번호를 설정하지 않으면 //초기 비밀번호는 0000으로 한다. //시동을 켤때 비밀번호를 입력하여 //자동차의 비밀번호와 일치하면 켜진다. //3번 연속 비밀번호 오류시 "경찰 출동중"을 출력하고 break를 사용한다. class Car{ String brand; String color; int price; bo..
2020.02.10 1. 클래스(반) : 공통요소가 모여 있는 곳 1) 주어이다. Monkey.eat("바나나") 원숭이가 바나나를 먹는다. 문장 맨 앞에는 클래스가 나오므로 항상 대문자로 시작하고 주어 역할을 한다. 2) 타입이다. 추상적인 개념인 클래스는 아무리 필드를 선언해도 접근하기 어렵다. 따라서 구체적인 무언가로 필드에 접근해야 하고, 접근하기 위해서는 그 클래스 타입이어야 한다. 2. 클래스 선언 class 클래스명 { 필드(객체, 메소드) } ** 필드 혹은 멤버라고 부름 ** ** 여기서는 변수보다는 객체라고 불리는 것이 더 적합 ** 3. 클래스 사용 [객체화] 클래스명 객체명 = new 클래스명(); 추상적인 개념의 클래스를 실체화 시켜주는 객체로 만드는 작업을 객체화(instance)라고 한다. 클래스..
2020.02.07 1. 다형성(Polymorphism) 1) 오버로딩(Overloading) : 매개변수의 타입 혹은 갯수가 다르면 메소드의 이름은 중복선언이 가능하다. 2. 오늘 실습 코드 1) OverLoadingTest package day18; public class OverLoadingTest { void method() { System.out.println("매개변수 없음"); } void method(int data) { System.out.println("정수값 한 개 받음"); } void method(int data1, int data2) { System.out.println("정수값 두 개 받음"); } void method(double data) { System.out.println("실수값 한 개 ..
2020.02.06 1. 오늘 실습 코드 1) MethodTask package day17; public class MethodTask { /* //5개의 정수 중 최대값 최소값 -> 첫번째 방법, 리턴값 있음 int[] getMaxAndMin(int[] arData) { int max = 0; int min = 0; max = arData[0]; min = arData[0]; int[] result = new int[2]; for (int i = 1; i arData[i]) { min = arData[i]; } } result[0] = max; result[1] = min; return re..
2020.02.05 1. 리턴을 사용할 때 : 메소드 내에서 모든 작업이 끝나지 않을 때 사용하는 부분에 작업의 결과를 알려주어야 할 때 [주로] 특정성을 부여하지 않을 때 사용 2. 리턴을 사용하지 않을 때 : 메소드 내에서 모든 작업이 끝날때 사용하는 부분에 결과를 전달할 필요가 없을 때 [주로] 소스 코드 간결화의 목적으로 사용하고자 할 때 사용 3. 메소드의 목적 1) 재사용의 목적 특정성을 부여해서는 안된다. 2) 소스코드 간결화 4. length와 length()의 차이? : length 배열의 길이, length() 문자열의 길이 ** 배열은 생성될 때, 배열의 길이를 알 수 있는 length라는 상수가 자동으로 만들어지고 클래스에서 length를 구현하려면 String 클래스 안에 있는 length라는 메서드..
2020.02.04 1. 메소드 : 이름() 단, 키워드()는 메소드가 아니다. 2. 메소드 구성 요소 3. 메소드 선언 (1)리턴타입 (2)메소드명(자료형 (3)매개변수, ...) { (4)실행할 문장; (5)return 리턴값; } (1) 리턴값의 타입 작성, 없으면 void로 작성 (2) 동사로 작성한다(연필(매개변수)을 쓴다(메소드)) (3) 생략이 가능하다. 외부에서 들어올 값이 있다면 반드시 적는다. (4) 생략이 가능하다. (5) 생략이 가능하다. 4. 메소드 사용 메소드명(값, ...); 메소드명(); 5. 메소드 주의사항 : 메소드 선언시 반드시 메소드 밖에서 선언하고, 메소드 사용시 반드시 메소드 안에서 사용한다. 6. 메소드 선언 순서 (문제) 두 정수의 덧셈 메소드 구현 ① 메소드 이름을 생각한다. p..
2020.02.03 1. NestedFor(이중포문) 2. 오늘 실습코드 1) NestedFor package day14; public class NestedFor { public static void main(String[] args) { // 이중 for문 이용하여 구구단 만들기 // 이중 for문을 이용하여 간단하게 프로그램을 만듦 for (int i = 1; i < 10; i++) { for (int j = 1; j < 10; j++) { System.out.printf("%d*%d=%d\n", i, j, i*j); } System.out.println(); } // for문을 한 번만 사용해서 구구단 만들기 // 1단 ~ 9단 // 이중 for문을 이용하면 간단하게 만들 수 있는데 // for문을 한 번만 사용함으..
2020.01.31 1. 2차원 배열 : 배열 안에 배열 한 번 접근하면 행, 두 번 접근하면 열 따라서 대괄호가 2번 필요하다 2. 2차원 배열 선언 자료형[][] 배열명 = new 자료형[행][열]; 자료형[][] 배열명 = { {값1, 값2, 값3}, {값4, 값5, 값6}, ... }; 3. 2차원 배열 사용 배열명[행][열]; //값 배열명[행][열] = 값; //저장공간 2차원 배열명[행] = 1차원 배열명[index]; //저장공간 //값 2차원 배열명[행] = 1차원 배열명; arrData[0] = arData; 4. 정방배열과 비정방배열 : 모든 행에 열의 개수가 같으면 정방배열, 행마다 열의 개수가 다르면 비정방배열 5. 일차원 배열은 배열명에 ar을, 이차원 배열은 배열명에 arr을 붙여준다(개발자들끼리..
2020.01.30 1. 배열의 길이(length) : 배열 선언시 내부적으로 length라는 상수가 선언되고 이를 통해서 반복 횟수를 결정짓거나 배열의 길이를 확인할 수 있다. 배열명.length : 배열의 길이(정수) int[] arData = new int[10]; for(int i = 0; i < arData.length; i++){ } 2. 배열은 자동형변환이 되지 않는다. 3. 오늘 실습코드 1) ArTest package day12; public class ArTest { public static void main(String[] args) { int[] arData = {3, 5, 6, 4}; //new 연산자로 선언시 자동으로 초기값이 들어간다. double[] arData2 = new double[4]; ..
2020.01.29 1. 실생활 적용해보기(영화관 만들기) ** 기존에 완성한 영화관 만들기에 거래명세서와 주석 추가 ** package cinema; import java.text.SimpleDateFormat; import java.util.Random; import javax.swing.JOptionPane; public class Cinema_0129 { public static void main(String[] args) { String title = "▥롯데 시네마▥"; String main_menu = "①예매하기\n②구매하기\n" + "③포인트 조회\n④쿠폰 등록\n⑤거래내역 조회\n⑥나가기"; String film_menu = "①백두산(09:00)\n②겨울왕국2(13:00)\n" + "③[청소년 관람 불가..