본문 바로가기

개발자한걸음

(212)
클래스)생성자와 기본 생성자의 이해(학생 기록부) package class02; class Student { String name; int lv; int score; void show() { System.out.println(this.name + " " + "Lv." + this.lv + "" + " SCORE: " + this.score); } Student(String name) { this(name, 1, 0); } Student(String name, int lv) { this(name, lv, 0); } Student(String name, int lv, int score) { this.name = name; this.lv = lv; this.score = score; System.out.println(this.name + " 생성완료!"); ..
클래스) 생성자와 기본 생성자의 관계 이해(점,좌표찍기) package class02; class Point { int x; int y; void showInfo() { System.out.println("P(" + this.x + "," + this.y + ")"); } Point() { this(0, 0); System.out.println("기본 생성자"); } Point(int x) { this.x = x; this.y = x; } Point(int x, int y) { this.x = x; this.y = y; } } public class Test03 { public static void main(String[] args) { Point p1 = new Point(10, 20); Point p2 = new Point(); Point p3 = new ..
클래스) 생성자와 기본 생성자의 관계(인자값) package unnamed; class A { int x; int y; void show() { System.out.println(x + " / " + y); } A() { this(1, 2); System.out.println("111"); } A(int x) { this(x, 3); System.out.println("222"); } A(int x, int y) { this.x = x; this.y = y; System.out.println("333"); } } public class Test02_2 { public static void main(String[] args) { A a1 = new A(13); A a2 = new A(); a1.show(); a2.show(); } } 출력값 = 333..
클래스) stack영역과 heap 영역의 이해 package class01; class A { int x; int y; void show() { System.out.println(x + " / " + y); } } public class Test02 { public static void main(String[] args) { A a1 = new A(); // 매개변수가 없음으로 지정해줘야함 A a2 = new A(); a1.x = 10; // 매개변수 a1.y = 20; // 매개변수 a2.x = 11; // 매개변수 a2.y = 12; // 매개변수 int[] data = new int[3]; // [0,0,0] 의 세줄짜리 배열 System.out.println(data); // 배열에서도 그 주소값을 찾을 수 있듯이 a1.show(); // 만..
클래스)클래스 선언 복습 package class01; // 자동차 class Car { String name; int speed; int maxSpeed; //void speedUp() { //멤버함수, 메서드 //1. 기본형 void 객체명() //2. 기능구현 speed+10; //3. input,output이 올바른지 체크 //speed+=10; //} void speedUp(int speed) { this.speed += speed; // 사람이 얼마나 올릴지 외부에서 값을 받아와야함 if (this.speed > this.maxSpeed) { this.speed = this.maxSpeed; System.out.println(this.name + "님 과속!"); } } void showInfo() { System.o..
클래스)인자가 없는 생성자==디폴트 생성자의 이해2 package class04; class Car { String name; int speed; void show() { // show 라는 메서드를 사용 , 인자가 없고 output이 없음 System.out.println(this.name + "님 자동차의 최대속력은: " + this.speed); } Car() { // 생성자 name = "무명"; speed = 200; } Car(String name) { this.name = name; this.speed = 200; } Car(String name, int speed) { this.name = name; this.speed = speed; } } public class Test06 { public static void main(String[] ..
클래스) 생성자 package class04; class Student { // 생성자는 함수의 한 종류 // 함수 3요소-> 메서드 시그니쳐 // 이름도 있고, input도 있는데 output이 없다. 그 이유는 // -> 생성자는 객체화할 때만 쓰니까. output이 객체일 수 밖에 없다. 그래서 output을 쓰지 않음. Student(String name, int num, int score) { // Student를 만들 때, 이름,번호,성적을 꼭 입력해야 만들 수 있게 this.name = name; this.num = num; this.score = score; } String name; int num; int score; void showInfo() { System.out.println(this.name +..
클래스 선언, 정의하기 package class04; // 클래스를 정의,선언 class Circle { int radius; // 멤버변수 , 고유변수를 가질 수 있다. String name; void print() { // 멤버함수 == 메서드 System.out.println(this.name + ": " + this.radius); } } public class Test03 { static void f() { System.out.println("주어없이 바로 호출하야 이용하는 함수"); } public static void main(String[] args) { // [객체지향 프로그래밍] Circle c1 = new Circle(); Circle c2 = new Circle(); // c 원 객체 생성완료! // ne..