Java 202

참조자료형변수

​ ● 클래스형으로 변수를 선언 ● 기본 자료형은 사용하는 메모리의 크기가 정해져 있지만, 참조 자료형은 클래스에 따라 다름 ● 참조 자료형을 사용 할때는 해당 변수에 대해 생성하여야 함 (String 클래스는 예외적으로 생성하지 않고 사용할 수 있음) ​ ​ 참조 자료형 정의하여 사용하기 ​ ● 학생(Student)과 과목(Subject)에 대한 클래스를 분리하여 사용하고 Subject 클래스를 활용하여 수강한 과목들의 변수의 타입으로 선언 ​ ​ ​ Subject.java public class Subject { String subjectName; int score; int subjectID; } ​ ​ Student.java public class Student { int studentID; Str..

Java/정리 2021.08.25

생성자

생성자 ​ ● 객체를 생성할 때 new 키워드와 함께 사용 - new Student(); ● 생성자는 일반 함수처럼 기능을 호출하는 것이 아니고 객체를 생성하기 위해 new 와 함께 호출 됨 ● 객체가 생성될 때 변수나 상수를 초기화 하거나 다른 초기화 기능을 수행하는 메서드를 호출 함 ● 생성자는 반환 값이 없고, 클래스의 이름과 동일 ● 대부분의 생성자는 외부에서 접근 가능하지만, 필요에 의해 private 으로 선언되는 경우도 있음 ​ ​ 기본 생성자 (default constructor) ​ ● 클래스에는 반드시 적어도 하나 이상의 생성자가 존재한다. ● 클래스에 생성자를 구현하지 않아도 new 키워드와 함께 생성자를 호출할 수 있음 ● 클래스에 생성자가 하나도 없는 경우 컴파일러가 생성자 코드를..

Java/정리 2021.08.25

인스턴스와 heap

인스턴스 (instance) ​ ● 클래스는 객체의 속성을 정의 하고, 기능을 구현하여 만들어 놓은 코드 상태(설계도면) 입니다. ● 실제 클래스 기반으로 생성된 객체(인스턴스)는 각각 다른 멤버 변수 값을 가지게 됩니다. ● 가령, 학생의 클래스에서 생성된 각각의 인스턴스는 각각 다른 이름, 학번, 학년등의 값을 가지게 됩니다. ● new 키워드를 사용하여 인스턴스 생성 ​ ​ ​ 힙 메모리 ​ ● 생성된 인스턴스는 동적 메모리(heap memory) 에 할당됨 ● C나 C++ 언어에서는 사용한 동적 메모리를 프로그래머가 해제 시켜야 함 ( free() 난 delete 이용) ● 자바에서 Gabage Collector 가 주기 적으로 사용하지 않는 메모리를 수거 ● 하나의 클래스로 부터 여러개의 인스턴..

Java/정리 2021.08.25

멤버변수와 메서드

학생 클래스를 정의 하고 이를 사용해 보자 public class Student { public int studentID; public String studentName; public String address; public void showStudentInfo() { System.out.println(studentName + "," + address); } public String getStudentName() { return studentName; } } ​ ​ ​ ​ 생성된 학생 객체(인스턴스)에 각각 다른 이름과 주소를 대입한다 public class StudentMainTest { public static void main(String[] args) { Student studentLee = ne..

Java/정리 2021.08.25

ch02 Student 메서드

package ch02; import java.util.Random; public class Student { //객체의 속성은 멤버 변수로, 객체의 기능은 메서드로 구현한다. int studentId; String studentName; String address; //메서드 정의 public void study() { System.out.println(studentName + "학생이 공부를 합니다."); } public void breakTime() { System.out.println(studentName + "학생이 휴식을 합니다."); } public void showInfo() { System.out.println(studentId + " , " + studentName + ", " + ad..

Java/chapter2 2021.08.23

ch01 FunctionTest

package ch01; public class FunctionTest { //메인 함수 (코드의 시작점) public static void main(String[] args) { //함수 사용해 보기 int result1 = add(100,50); System.out.println(result1); int result2 = add(200,300); System.out.println(result2); }//main //add 함수 생성 public static int add(int num1, int num2) { //int타입의 매개변수 //함수안에 사용하는 변수는 지역변수라고 부른다. int result; result = num1 + num2; return result; } } package ch01;..

Java/chapter2 2021.08.23

ch01 Warrior

package ch01; public class Warrior { //멤버 변수(상태) int height; int power; String color; String name; } package ch01; public class MainTest2 { //설계된 클래스를 사용하는 쪽 코딩 public static void main(String[] args) { Warrior w1 = new Warrior(); w1.height = 200; w1.power = 100; w1.name = "오크1"; w1.color = "초록색"; Warrior w2 = new Warrior(); //메모리에 올리다. w2.height = 100; w2.power = 50; w2.name = "미니전사"; w2.color =..

Java/chapter2 2021.08.23

ch01 Student

package ch01; public class Student { //상태(멤버 변수) int height; int weight; //문자열을 받는 데이터 타입 String name; }//class package ch01; public class StudentMainTest1 { //main함수 (코드의 시작점) public static void main(String[] args) { int num1 = 10; int num2 = 20; Student s1; //Student 참조 타입 s1란 변수를 선언 Student s2; //Student 참조 타입 s2란 변수를 선언 //Student 참조 타입 s1이란 변수를 서언 s1 = new Student(); //동적 메모리(JVM): new (heap..

Java/chapter2 2021.08.23

함수와 메서드

함수란 (function) ​ ● 하나의 기능을 수행하는 일련의 코드 ● 구현된(정의된) 함수는 호출하여 사용하고 호출된 함수는 기능이 끝나면 제어가 반환됨 ● 함수로 구현된 하나의 기능은 여러 곳에서 동일한 방식으로 호출되어 사용될 수 있음 ​ ​ 함수 정의하기 ​ ● 함수는 이름, 매개 변수, 반환 값, 함수 몸체(body)로 구성됨 int add(int num1, int num2) //함수의 선언부(시그니처) { //반환하는 값이 없다면 void값을 사용 int result; result = num1 + num2; return result; //리턴타입 정의 } //함수의 몸체(body) {}안의 값 ​ ​ ● 함수 구현하기 예제 ​ public class FunctionTest { public s..

Java/정리 2021.08.23