Major/Java

· Major/Java
1. 리팩토링 1) 매직 넘버를 기호 상수로 치환 - 매직 넘버 : 소스 코드안 특정한 숫자를 직접 적은 것 - 기호 상수 : 숫자에 상징이 되는 기호를 선언한 것 ① 이유 > 매직 넘버의 의미를 알기 어려움 > 매직 넘버는 수정하기 어려움 ② 리팩토링 카탈로그 이름 매직 넘버를 기호 상수로 치환 상황 상수를 사용함 문제 - 매직 넘버는 의미를 알기 어려움 - 매직 넘버가 여러 곳에 있으면 변경하기 어려움 해법 매적 넘버를 기호 상수로치환함 결과 o 상수의 의미를 알기 쉬워짐 o 기호 상수의 값을 변경하면 상수를 사용하는 모든 곳이 변경됨 x 이해하기 어려운 이름을 사용하면 오해가 생길 수 있음 방법 1. 기호 상수 선언하고 치환 후 컴파일 2. 테스트 2. 예제 프로그램 클래스명 역할 Robot 로봇 ..
· Major/Java
1. 리팩토링이란 1) 정의 - 외부에서 보는 프로그램 동작은 바뀌지 않고 프로그램의 내부 구조를 개선하는것 2) 퀴즈 버그 수정은 리팩토링 ? 👉 아니다 기능 추가는 리팩토링 ? 👉 아니다 소스 코드 정리는 리팩토링 ? 👉 반드시 그런 건 아님 3) 리팩토링과 유닛 테스트 - 리팩토링 전후 동작이 변하지 않는 걸 확인하려고 테스트 해야함 - 테스트 방법 중 유닛 테스트가 있음 4) 리팩토링의 목적 버그를 발견하기 쉽게 만든다 기능을 추가하기 쉽게 만든다 리뷰하기 쉽게 만든다 5) 리팩토링의 한계 - 프로그램이 아직 동작하지 않을 때 리팩토링은 불가능하다 - 시간이 너무 촉박할 때 2. 리팩토링과 악취 1) 악취 : 리팩토링이 필요한 부분을 '악취'가 난다고 표현한다. 👉 이해하기, 수정하기, 확장하기 ..
· Major/Java
Chapter 7 패키지와 예외처리 더보기 자바는 서로 관련된 클래스들을 하나로 묶을 수 있는 방법을 제공함 => 패키지 라이브러리들은 패키지로 구성되어 있다.... 왜 패키지 구조를 사용? 클래스 이름이 겹치더라도 패키지가 다르면 중복문제가 발생하지 않기 때문.. 패키지 별로 접근에 재약을 가할수 있음 ! 패키지를 생성하기 위해서는 소스코드 첫번째 줄에 패키지 문을 넣으면 됨. 그러면 클래스의 정식이름은 패키지이름.클래스명 이 된다. 패키지 문을 사용안하면 디폴트 패키지에 속하게 됨 패키지 안에 들어있는 클래스나 인터페이스를 사용하려면?? import하면 됨 다른 패키지의 클래스를 참조하려면 클래스의 완전한 이름을 써줘야함. 근데 불편하니까 import하는게 남 클래스 이름이 중복되면"? 당연하게도 패..
· Major/Java
Chapter 6 상속 Mini Project - p208 import java.util.*; abstract class Sprite { int x=3, y=3; abstract void move(char c); } class Main extends Sprite { void move(char c) { if( c=='h') --x; else if(c=='j') --y; else if(c=='k') ++y; else if(c=='l') ++x; } } class Monster extends Sprite { public Monster() { x = y =7; } void move(char c) { x += (Math.random()-0.5)>0 ? 1: -1; y += (Math.random()-0.5)>0 ..
· Major/Java
Chapter 5 클래스와 객체2 Mini Project - p172 import java.util.*; class User { String userId, password; static int count = 0; public User(String userId, String password) { this.userId = userId; this.password = password; } } public class ch5_miniproject { public static void main(String[] args) { Scanner sc = new Scanner(System.in); User[] list= new User[10]; while(true) { System.out.println("===========..
· Major/Java
Chapter 4 클래스, 객체, 메소드 Mini Project - p147 class Dice { int value; public Dice() { value =0; } void roll() { value = (int)(Math.random()*10)%6 +1; } public void setValue(int value) {this.value = value;} public int getValue() {return value;} } public class mini_project { public static void main(String[] args) { Dice d1 = new Dice(); Dice d2 = new Dice(); int cnt = 0; while(true) { System.out.prin..
· Major/Java
indexof("찾을 문자열") 문자열을 찾으면 제일 첫번째 문자열의 인덱스를 반환한다. String s = "The cat is on the table"; int index = s.indexOf("table"); //없으면 -1을 반환한다.
· Major/Java
* 혼자 푼거라 오답이 있을 수 있습니다. 오답이 있으면 댓글로 남겨주세요 Chapter 3 선택과 반복 Mini project -p91 import java.util.Scanner; public class game { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc = new Scanner(System.in); int answer = (int) (Math.random()*100); int guess, cnt=0; do { System.out.print("정답을 추측하여 보시오: "); guess = sc.nextInt(); if(guessanswer){ System.out.print("HIGH\n..
· Major/Java
Chapter 02 자바 프로그래밍 기초 Mini Project public class FtoC { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("화씨 온도를 입력하시오: "); double f = sc.nextDouble(); double c = (f-32)*5/9; //5/9를 먼저 곱하면 0이된다. System.out.println("섭씨온도는 "+c); } } Exercise 1. byte short int long float double char boolean 2. String 3. int 4. ⓒ 5. 변수 : k, m, f 상수 : size 6. 1) 11, 0 2) ..
BeNI
'Major/Java' 카테고리의 글 목록 (2 Page)