본문 바로가기

전체 글91

메서드, 멤버필드, static Main.java import java.util.Scanner; public class Main { public static void main(String[] args) { Tv tv = new Tv(5,10); //따로 call하지 않았음에도 생성자메서드가 자동으로 call되어서 "Tv 생성자 메서드 입니다." 라는 생성자 내의 출력코드가 실행됨을 확인할 수 있다. //매개변수가 있는 생성자를 만들었기 때문에 인자값을 입력해서 인스턴스를 생성하게 된다. Tv tv1 = new Tv(); //매개변수를 명시한 생성자가 생긴 순간, 매개변수가 없는 생성자는(디폴트 생성자)가 지워져서 매개변수 없이 인스턴스를 만들려면 오류가 난다. //매개변수가 없는 생성자를 오버로딩함으로서 오류를 해결할 수 있다. Sca.. 2020. 3. 9.
객체지향 - 인스턴스, 정보은닉 Main Class import java.util.Scanner; public class Exam_04 { public static void main(String[] args) { Monitor mon=new Monitor(); //첫글자가 대문자이니까 클래스구나, 참조자료형이구나, mon이라는 변수이구나 //Monitor라는 참조자료형은 java 자체에는 없지만 내가 Monitor라고 Class(Class파일)을 만든 것이 참조자료형이 된 것 //mon이라는 변수를 만들었다고 해서 class안에 있는 price,color,poweron,poweroff가 생기지 않음 (프로그램이 public class Monitor 밑으로 내려가지 않았음!!?!?) //mon은 참조자료형변수이니까 stack에 mon이라.. 2020. 2. 16.
메서드 오버로딩 //본래는 이름이 중복된 메서드는 존재가 불가능하다! (변수와 마찬가지로!) //C언어 : 중복 절대 안됨!! //C++에서는 중복을 허용할 수 있는 방법이 시작됨 public class Exam_03 { //메서드의 이름이 같아도, 매개변수의 종류 또는 개수가 다르면 //다른 메서드로 인식한다. public static void func() { System.out.println("A"); } public static void func(int num) { System.out.println("B"); } public static void func(double d) { System.out.println("C"); } public static void func(int num1, int num2) { Syste.. 2020. 2. 16.
method를 call하면서 인자값이 몇개인지 모르는 상황일때 //method를 call하면서 인자값이 몇개인지 모르는 상황일때 //가변인자방식 //쓸일이 많진 않음 public class Exam_02 { public static void func(String... str) { //매개변수 자료형 위치에 자료형...(String... 혹은 int... 등... 다 됨)으로 입력하면 //인자값을 1개던, 2개던, 100개던 상관없이 다 받아들임 //그럼 이걸 어떻게 싸야 하나? for(int i=0;i 2020. 2. 16.