목록2020/10/25 (7)
디케이
생성자 오버로딩 생성자의 매개변수의 유형과 개수가 다르게 하여 같은 이름의 생성자를 여러 개 가질 수 있다. 생성자도 메소드와 마찬가지로 여러개를 선언할 수 있다. 매개변수의 수와 타입이 다르다면 여러개의 생성자를 선언할 수 있다. public class Car{ String name; int number; public Car(){ } public Car(String name){ this.name = name; } public Car(String name, int number){ this.name = name; this.number = number; } } 오버로딩된 생성자 이용하기 public class CarExam4{ public static void main(String args[]){ Car c..
메소드 오버로딩 매개변수의 유형과 개수가 다르게 하여 같은 이름의 메소드를 여러 개 가질 수 있게하는 기술 메소드 오버로딩 이름은 같지만 매개변수가 다른 메소드 class MyClass2{ public int plus(int x, int y){ return x+y; } public int plus(int x, int y, int z){ return x + y + z; } public String plus(String x, String y){ return x + y; } } 메소드 오버로딩은 매개변수 부분이 달라야 한다. public int plus(int i, int f){ return i+f; } 위처럼 변수명은 다르지만, 매개변수의 타입과 개수가 동일한 메소드를 또 정의 할 수는 없다. 오버로딩된 메..
this this는 현재 객체, 자기 자신을 나타낸다. this 의 사용 public class Car{ String name; int number; public Car(String n){ name = n; } } Car클래스의 생성자 매개변수의 이름이 n 이다. n 이라는 변수명은 무엇을 의미하는지 쉽기 알수 없다. n 으로 쓰기 보다는 name 으로 사용하는 것이 좋다. public Car(String name){ name = name; } 'name=name' 이라고 코드를 바꾸면, 가깝게 선언된 변수를 우선 사용하기 때문에 'name=name'이라는 코드는 매개변수의 name의 값을 매개변수 name에 대입하라는 의미가 된다. 즉, 필드는 바뀌지 않습니다. 이런 경우 필드라는 것을 컴파일러와 JV..
생성자 모든 클래스는 인스턴스화 될때 생성자를 사용한다.생성자의 특징 생성자는 리턴타입이 없다. 생성자를 프로그래머가 만들지 않으면 매개변수가 없는 생성자가 컴파일할 때 자동으로 만들어진다. 매개변수가 없는 생성자를 기본생성자라고 한다. 생성자를 하나라도 프로그래머가 만들었다면 기본생성자는 자동으로 만들어지지 않는다. 생성자의 역할 생성자가 하는 일은 객체가 될 때 필드를 초기화 하는 역할을 수행한다. 자동차가 객체가 될때 반드시 이름을 가지도록 하려면,Car클래스를 다음과 같이 만들어야 한다. public class Car{ String name; int number; public Car(String n){ name = n; } } 위의 Car 클래스를 이용하여 Car 인스턴스를 생성하는 방법 publ..
열거형(enum) 자바는 열거타입을 이용하여 변수를 선언할 때 변수타입으로 사용할 수 있다. 열거형은 JDK5에서 추가되었다. JDK5 이전에는 상수를 열거형 대신 사용 상수를 이용하는 방법 public class EnumExam { public static final String MALE = "MALE"; public static final String FEMALE = "FEMALE"; public static void main(String[] args) { String gender1; gender1 = EnumExam.MALE; gender1 = EnumExam.FEMALE; } } 상수를 사용했때의 문제점 String으로 선언된 gender1 에는 MALE,FEMALE 둘 중 한가지 값을 갖기 원하..
contains() contains() 함수는 한 문자열이 특정 문자열을 포함하고 있는지 확인할 때 사용합니다. 함수 첫시간에 다루었던 indexOf()함수는 위치를 반환하지만 contains() 함수는 포함 여부 만을 true 또는 false 로 반환해 줍니다. 문자열.contains("찾을 문자열"); 포함시 true, 불포함시 false 반환 (ex) String txt ="호기심이 정규교육에서 살아남는 것은 기적이다."; Sysem.out.println(txt.contains("기적"); // true 출력 문자열을 검색하는 기능을 추가하고자 할때 정확한 위치를 알고자 원하면 indexOf() 함수를 , 단순히 포함 여부만을 알고자 하면 contains() 함수를 사용 [출처] [jav..
자바에서 각각 객체가 동일한지 확인하는 방법 자바 프로그래밍에서 객체가 동일한지 확인하는 분기문은 상당히 많이 작성할 것이다. 예를 들면 '==' 연산자로 비교할 수도 있고 'equals()', 'hashCode()' 로 비교할 수도 있다. 이제 앞에서 언급한 3개의 방법의 원리를 정리하고 적용해본다. == 연산자 == 연산자는 피연산자가 primitive type(int, double, boolean, ...)일 때는 값이 같은지 비교하고, 피연산자가 그 외 객체, reference type일 때 가리키는 주소가 같은지를 검사한다. String str1 = "hello"; String str2 = "hello"; System.out.println(str1 == str2);//true String str..