개발일지 (233) 썸네일형 리스트형 [Java] 생성자(Constructor), this() 생성자, 초기화 블록 생성자(Constructor) new 연산자에 의해서 객체 생성을 할 때 단 한 번 호출되는 단위(아래에서 9번)이다. 생성자를 이용해서 객체 생성(20, 26, 32)을 하면 Heap 영역에 매 번 새로운 객체가 생성되는 것이다. 이전까지 파라미터가 없는 빈 생성자를 이용해 객체를 생성했는데 클래스에 생성자가 하나도 정의 되지 않았을 땐 컴파일러가 알아서 처리를 했다. 하지만 클래스에 인자값(11, 14)이 있는 생성자가 하나라도 있을 시 컴파일러가 처리를 못 하기에 반드시 빈 생성자(9)도 함께 정의해 주어야 한다. 인자값이 없다면 안 해도 됨! ▼ 11, 14번이 있는데 9번이 없다면 20번에서 생성자를 만들 수 없다. Console ... person1.name = null, person1.age.. [Java] 성적 입출력 - 클래스로 나누기, 소수점 n번째 자리 지금까지 배운 것으로 성적 입출력을 해봤다. package Graid; public class Print { int tot; double avg; String grad; void print1(String name, int k, int m, int e) { System.out.println("당신의 이름은 " + name + "입니다."); System.out.println("국어 성적 : " + k ); System.out.println("수학 성적 : " + m ); System.out.println("영어 성적 : " + e ); } void tot(int k, int m, int e) { tot = k + m + e; System.out.println("총점 : " + tot); } void ave.. [Java] 메소드 정의와 다양한 종류 - 매개변수(parameter), 인자(Argument) 메소드 클래스가 수행하는 기능이다. 리턴타입 메소드명 (파라미터 변수1, 파라미터 변수2 ... ){ 구현내용 } 값을 반환할 때는 예약어인 return 사용한다. 호출하는 쪽에서 던지는 값을 인수(Argument, 인자) 라고 하고, 메소드에서 받는 값을 매개변수(Parameter, 파라미터) 라고 한다. 리턴 값이 없을 경우 리턴 타입에 void를 넣으면 된다. 리턴 타입이 void면 return 키워드를 사용하지 않아도 되는데 사용할 경우에는 메소드의 수행을 강제 종료하는 기능을 가지고 있다. 참고로 파라미터 변수와 인수의 데이터 타입과 순서 모두 같아야 한다! 파라미터 변수와 인자값 개념 익히기 package Method; class Args{ int x; void add(int x) { //파라.. [Java] 클래스 정의와 변수의 3가지 종류 Class(클래스) 자바에서 생성되는 최소 단위로 객체를 사용하기 전 설계해 놓은 것이다. 객체의 특성 - 변수 객체의 기능 - 메소드 package AirCon; public class AirCon { //(멤버)변수 정의(변수는 모두 소문자) String company; String color; int price; int size; int temp; //메소드 정의(하나의 행위. 메소드의 첫글자는 소문자로 쓰는 것이 관습이다.) void onPower() { System.out.println("power on"); } void offPower() { System.out.println("power off"); } void upTemp() { temp++; } void downTemp() { temp--.. [Java] 0924 클래스의 구조 / 상위 클래스를 상속 받은 클래스 Main은 public static void main(String[] args) { } 있지만, class에서는 main을 안쓴다. 잘 사용하진 않지만 하나로 합친다면 public은 메인에 하나만 사용하고, 메인 이름이 파일명이 된다. 여러 개로 나누어서 사용하는 게 기본이다. -클래스의 구조- 변수 선언 (멤버변수-모든 지역에서 사용 가능하다) 메소드 (인쇄 행위 , 계산 행위) 메소드 안에서도 변수 선언을 할 수 있음 (로컬-지역 변수는 여기서만 사용할 수 있다.) main에서는 가져다 씀 - 모든 루틴을 메인에서 사용함 클래스에서 설정을 해줘도 메인에서 인쇄를 해야 볼 수 있다. 그냥 사용하는 것이 아니라 반드시 객체 생성(new)을 해줘야 한다. -------------- 멤버 변수 - 초기화 하.. [Java] 팩토리얼 + 피보나치 수열로 재귀함수 배우기 기초수학2 - factorial(!) 팩토리얼 팩토리얼 - 1부터 n까지의 곱이다. 5! , fact(5) = 5x4x3x2x1 = 120 그러면 0!의 답은 0? 그건 아니다. 정확히는 모르지만 수학에서 정한 규칙 때문에 0! = 1 1! = 1 이 둘 모두 답은 1이다. choittolbok.tistory.com 팩토리얼에 대한 것은 이걸 참고 하면 좋다. public class MainFunction_5 { public static int factorial(int f) { int sum = 1; for(int i=2; i1 true -> 5*(4) 2. if 조건 4>1 true -> 5*4*(3) 3. if 조건 3>1 true -> 5*4*3*(2) 4. if 조건 5>1 true -> 5*4*.. JVM이란? JVM의 구성요소 자바 소스코드로 작성한 것을 기계가 읽을 수 있도록 컴파일러(javac)가 바이트코드로 변환한다. 이 때 확장자가 .class이다. 바이트코드 라는 것은 JVM(가상머신)이 이해할 수 있는 언어로 어떠한 플랫폼에서도 JVM 위에서 실행할 수 있다. (Window, Linux, MAC 어디서든 사용 가능) 처음 JDK를 설치하고 환경 변수를 설정 했던 게 JVM 위에서 실행시키기 위한 과정이었다. 이클립스는 연결만 시켜줬던 것이고 실제 실행 시켜 주는 것은 JVM이라는 것을 알아두자! -콘솔창(cmd)에서 검색을 하고 소스 파일로 이동(cd)해서 파일 확인도 가능하다(수업) 다시 그림을 보면서 위에 했던 말을 반복하자면.. 자바 소스를 만들면 자바 컴파일러(javac)가 클래스 파일로 바꿔준다. 이 클래스.. [Java] 함수 설명 + 만드는 방법 public class MainFunction_1 { public static int function(int a, int b, int c) { int min; if(a > b) { if(b > c) {min = c;} else {min=b;} }else { if(a > c) {min = c;} else {min = a;} } for(int i=min; i>0; i--) { if(a%i == 0 && b%i == 0 && c%i == 0) {return i;} } return -1; } public static void main(String[] args) { System.out.println("400 300 750의 최대 공약수는? " + function(400, 300, 750)); } } public .. 이전 1 ··· 19 20 21 22 23 24 25 ··· 30 다음