목록JAVA/자바 수업 내용 (33)
The Debugging Chronicles : "코드의 미학"
package class01;class Product { int num; //PK String name; int cnt; int price; //생성자 오버로딩 Product(int num, String name){ this.num = num; // 시스템에서 부여하는 값 ->외부에서 가져와야함 this.name = name; //상품명 this.cnt = 0; //재고; this.price = 0; //가격; } Product(int num, String name,int cnt, int price){ this.num = num; // 시스템에서 부여하는 값 ->외부에서 가져와야함 this.name = name; //상품명 this.cnt = cnt; //재고; this.price =..
package class06;// 특정 멤버변수의 값을 반드시 넣도록 "강제"하고 싶을 때// "강제" : 개발할 떄 강제하다는 좋은것 , 지정하는 것, 오더를 내리는 것.// 실수를 줄여준다// 멤버변수의 값을 '강제'하고 싶을 때는 // == 생성자를 선언(정의) 하면된다class Pokemon{ String name; int level; int exp; Pokemon(String name){ // 강제할 항목 // this 생략하지 않는다. this.name=name; // 멤버 변수 // 외부 변수 // 외부에서 받아온 name 값을 멤버 변수 name에 저장 this.level = 5; this.exp = 0; // 모든 멤버 변수 생성자 안에서 초기화를 직접 작성하는 것을..
참조에 의한 호출 call By referencepackage class06;public class Test02 { public static void test(int[] datas) { datas[0]=0; } public static void main(String[] args) { // new 연산자 : 개발자 메모리 영역(heap)에 공간을 만들어줘. int[] datas = new int[3]; for(int i =1; i Call by Value (값에 의한 호출)Java는 기본적으로 'Call by Value' 방식을 사용하고 있다.메서드로 변수를 전달할 때 값이 복사되어 전달되는 방식을 의미한다. 메서드에 전달된 값은 인자를 복사해서 보낸 것이므로 메서드 내에서 변경..
메서드 시그니처란 메서드의 이름과 매개변수의 순서, 타입, 개수를 의미합니다. 메서드 시그니처(Method signature)란 무엇일까?메서드 시그니처는 자바에서 프로그래머가 디자인한 메서드 구조를 의미하며 메서드 이름과 파라미터리스트로 구성됩니다. 작성된 코드는 Java 컴파일러에서 오버로딩된 함수들은 메서드 시그니처를 통해 식별합니다.같은 이름으로 선언하고 다른 파라미터 리스트(Signature)를 가진 것을 메서드 오버로딩(Method Overloading)이라고 부릅니다.public int square(int x, int y) { ///}public double square(double x, double y) { ///}하나의 클래스 안에서는 2개의 같은 시그니처를 가질 수 없습니다. 만약 ..
1유형package class02;// 함수// input 기능 output// 기능명은 어떤 기능이있는 지 바로 알수 있게 지어야함// input 입력 인자 인수 arguments 매개 변수 파라미터 parameter// output 결과값 반환 return 리턴 출력값//함수는 4가지 유형// input x output x// input o output x// input x output o// input o output o//함수 1 유형// input outputxpublic class Test01 { // 함수 선언 자리 // public output 함수명 (input) { // void == output이 없다 // static == 객체와 무관하게 public static void hell..
package class01;import java.util.Scanner;// 프로그램// 요구사항// 프로그램에서 모든 요구사항은 CRUD로 귀결됩니다.// 데이터// create 생성 회원가입// read 출력 게시글 검색// update 변경 프로필사진 변경 글변경// delete 삭제 회원탈퇴 글삭제// 상품 구매 >> 사용자가 해당 상품을 구매했다는 사실이 기록// >> 이 상품의 판매량이 증가//CRUD, 비즈니스 메서드, 비즈니스 로직, 핵심 로직, 핵심 관심// "학생부 프로그램"//사용자의 첫번쨰 요사사항// 1.최대 5명까지 저장할 수 있는 학생부가 있습니다.// 2. 학생부 프로그램을 작성해세요// 개발자와의 1차 요구사항 회의를 통해// C: 학생을 추가 (동명이..
package class04;import java.util.Scanner;/*정수를 입력합니다.입력한 만큼 정수를 저장할수있게됩니다.ex) 5 입력시 _ _ _ _ _ex) 3 입력시 _ _ _정수를 저장해주세요.이후 정수를 한번더 입력받습니다.입력받은 정수번째에 저장된 공간의 정수를 출력해주세요.예시 1) 510 20 30 40 5022번째 공간에는 20이 저장되어있습니다.예시 2) 510 20 30 40 5055번째 공간에는 50이 저장되어있습니다.예시 3) 311 21 2211번째 공간에는 11이 저장되어있습니다. */public class Test02 { public static void main(String[] args) { Scanner sc=new Scanner(System.in..
package class04;import java.util.Scanner;/*정수를 입력합니다.짝수를 5번 입력하면 종료됩니다.그동안 입력했던 5개의 짝수를 모두출력해주세요.그 짝수들의 총합과 평균을 출력해주세요.단, 평균은 소수점으로 출력해주세요.그 짝수들 가운데서 가장 작은 값을 출력해주세요. */public class Test01 { public static void main(String[] args) { // 정수를 입력합니다. // 짝수를 5번 입력하면 종료됩니다. // 아, 여러번 입력하는구나! Scanner sc=new Scanner(System.in); int[] datas=new int[5]; ..
package class01;//*****//*****//*****public class Test02 { public static void main(String[] args) { // for(int a=0; a
package task;import java.util.Scanner;//3. 정수를 2개 입력받아서 오름차순으로 출력해주세요//ex) a=3, b=5 3 4 5//ex) a=10, b=8 8 9 10public class Task03 { public static void main(String[] args) { // 입력받은 두 값중에 Scanner sc=new Scanner(System.in); System.out.print("첫번째 정수를 입력해주세요 >>"); int a = sc.nextInt(); System.out.print("두번째 정수를 입력해주세요 >>"); int b = sc.nextInt(); // a>b{ if(a>b) { //a+1 값이 b와 동일하면 멈춰..