JAVA(77)
-
Class_instance
인스턴스란? 특정 클래스(설계도)를 통해 생성한 객체이다. 클래스 작성 예시 public class Student { String name; int age; int score; } 사용 예시 Student student1 = new Student(); student1.name = "김어향"; student1.age = 15; student1.score = 90; 인스턴스 생성 원리 new 키워드와 생성자 메서드를 통해 새로운 인스턴스를 생성한다. 이 때, 클래스 구성 요소인 String name, int age, int score; 과 같은 필드 등을 위한 메모리가 할당된다. 그리고, 이를 관리(접근)하기 위한 주소값이 할당된다. (관리할 방법도 없는 메모리.. 만들어도 소용 없으니까! ) 그런데, 할당..
2024.01.10 -
Class_이게 뭔데
클래스. 왜 필요할까? 학생의 정보를 변수에 담에 해보자 String studentName = "김어항"; int studentAge = 15; 고민할 거리도 없이 이렇게 작성될 것이다. 두명의 학생 정보를 담으려면? String student1Name = "김어향"; int student1Age = 15; int student1Score = 90; String student2Name = "김장육"; int student2Age = 20; int student2Score = 33; 아직 무난하다. 그렇다면.. 50명 100명 1천명은 어떻게 해야 할까? 반복문으로 어떻게든 되지 않을까? ->안타깝게도 변수명이 다르기 때문에 그럴 수는 없다. 그렇다면 같은 정보들의 집합인 배열로 어떻게 되지 않을까? St..
2024.01.10 -
Method_오버 로딩
오버로딩 이름이 같고 매개변수가 다른 메소드를 여러 개 정의하는 것. 왜 필요함? plus1(int a, int b); plus2(int a, int b, int c); plus3(int a, int b, int c, int d); 매개변수들을 더한다고 가정 해보자. 메서드를 전달할 데이터( 인자or Argument)와 메서드에 선언된 매개변수(Parameter)의 개수는 같아야 한다. 그렇다면, 피연산자 개수가 늘어날 때마다, 메서드를 계속 다른 이름으로 생성해야 할까? 대답은 No다!! (관리 어쩔건데) 이러한 관리상의 어려움을 타파하기 위해, '오버 로딩' 이라는 기술이 존재한다. 이름이 같고 매개변수가 다른 메서드를 여러 개 정의 하는 것이 가능해진다. plus(int a, int b); plus..
2024.01.10 -
Method_호출과 값 전달
자바는 항상 변수의 값을 복사해서 대입한다. - Call By Value 자바의 대원칙이다. 꼭! 반드시! 절대! 기억하자. 이해를 위해 예시를 작성 해보자. int num1 = 1; int num2 = num1; num2 = 10; System.out.println("num1 = " + num1);// 1 System.out.println("num2 = " + num2);// 10 변수 num1 에 리터럴 1을 대입하고, 변수 num2 에 num1 의 값을 대입하고, 다시 변수 num2 에 10을 대입한다. 다시. 값을 읽고, 변수에 대입한다. int num2 = num1;//1 변수 num1 을 변수 num2 에 그대로 대입하는 것이 아니라, num1의 값을 읽어 num2 에 대입한다. 복사 , 붙여..
2024.01.07 -
Method_리턴
메소드에 반환 타입을 명시하면 반드시 값을 return 해야 한다. (규칙) 아래 코드를 살펴보자. if 문의 조건문에서 나머지가 1이면 true 를 반환하며 코드가 끝난다. 반면 나머지가 0인 경우에 대해서는 아무런 return 값이 없다. 해당 규칙에 근거하여, 컴파일러가 오류를 발생 시킨다. 인텔리제이에서 return 문을 추가하거나, 메서드의 리턴 타입을 void로 바꾸라는 등의 권유를 해주니 상황에 맞게 바꿔주도록 하자.
2024.01.07 -
Method_정의
앞에서 일부 내용을 한번 다루긴 했으나, 확실하게 알기 위해 페이지를 하나 더 작성한다. 메소드 정의 public static int sum(int a, int b){ 메소드 본문(=실행 코드); } 제어자 반환타입 메소드이름(매개변수 목록){ 메소드 본문; } 제어자(Modifider) : public, static 과같은 부분. 이 외에 protected, default, private 등이 있다. 반환 타입(Return type) : 위에서의 반환타입은 int 이다. 메서드 실행 후 반환되는 데이터 타입을 지정한다. 값을 변환하지 않는 경우, void 키워드를 사용한다. 메소드 이름(Method name) : 메소드 호출 시 사용된다. 여기서는 sum 매개변수(Parameter) : 메소드 호출문에..
2024.01.07