본문 바로가기

전체 글70

this참조 변수와 this()메소드 this 참조변수란..? this 참조 변수는 인스턴스 변수가 자기 자신을 참조하는데 사용하는 변수이다. this 참조 변수는 해당 인스턴스의 주소를 가리키고 있다 class Car{ String modelName; int modelYear; Car(String modelName,int modelYear){ this.modelName = modelName; this.modelYear = modelYear; } } 이 처럼 인스턴스 변수(필드에 있는 변수)랑 매개변수의 이름이 같을 때는 this 참조변수를 쓴다. this참조 변수를 사용할 수 있는 영역은 인스턴스 메소드 뿐이며, 클래스 메소드에서는 사용할 수 없다. this() 메소드란..? 생성자를 다시 호출할 때 사용한다. class Car{ Stri.. 2022. 1. 7.
i++랑 ++i의 차이점 i++ 는 앞에 i가 수행된 후에 i+1을 해주는 것 즉 i = i+1 , i += 1 반대로 ++i 의 경우 , 미리 +1이 된 후에 출력된다. ex) 더보기 int a =3, b=5, c=0 c = a+b; printf("c의 값은 %d 입니다\n",c++); printf("c의 값은 %d 입니다\n",c); 출력값 c의 값은 8입니다. c의 값은 9입니다. 더보기 int a =3, b=5, c=0 c = a+b; printf("c의 값은 %d 입니다\n",++c); printf("c의 값은 %d 입니다\n",c); 출력값 c의 값은 9입니다. c의 값은 9입니다. 2022. 1. 7.
== 와 .equals의 차이점 ==와 .equals 모두 객체 값을 비교하여 답을 찾는 것이다. 하지만 약간의 차이가 있다. zoo 프로젝트를 만들 때, result를 입력하면 멈추는 반복문을 만들었다 while(true){ String input = sc.nextLine(); if(input.equals("result")){ break; }else{ list.add(new Animals(input)); } } 이때 if문 안의 조건문 input.equals("result")을 input == "result"로 하면 반복문에서 빠져나오지 못한다. 둘은 대부분 비슷한 기능을 하지만 String의 경우, .equals의 경우는 변수 안의 값을 찾아주고 == 오퍼레이터는 reference를 체크한다. 위의 경우 단순한 변수값 비교이기 때문.. 2022. 1. 7.
레퍼런스 타입과 레퍼런스 변수 A a = new A(1) A는 레퍼렌스 타입 (객체x) a는 레퍼렌스 변수 (객체 ) New A는 객체가 만들어지는게 아니라 , 메모리 공간을 만드는 것임 , 객체는 레퍼렌스 타입 앞에 있는 a를 객체로 부름 A a = new A(1); A b = a; 로 정의하면 b의 값은 A라는 메모리안에 들어감 (레퍼렌스 ) 그래서 a==b true 나옴 A a = new A(1) 도 만들고, A b = new A(1); 로 b라는 객체를 또 만들면 a==b는 false임 New 로 b가 들어갈 메모리 공간을 하나 더 만들었움 a와 b의 겂이 같아도 메모리가 다른 공간이여서 , id값은 다르게 나옴 Public static void Reference(){ A a = new A(1); A b = a; b.id = .. 2022. 1. 7.