20240807(수) 오늘 드디어 클래스와 생성자, 객체에 대해서 정복해따!
오늘 하루종일 클래스와 생성자, 객체에 대해서 공부했던 것 같다. 반나절 이상동안 뭐가 뭔지 들어도 머릿 속에 잘 들어오지 않았었는데, 계속해서 파고들고...낮에는 선용 튜터님께 거의 3시간 가까이 강의를 듣고, 3바퀴 이상 내용을 돌면서 마지막 까지 남아서 설명을 들었다. 그리고, 우리 조의 팀원 용진님께 설명을 또듣고, 어제 또 수현님께 배운 내용을 토대로... 주희님과 함께 빈 프로젝트에서 코딩을 같이 직접해보며, 개발하고 작성하였다. 그렇게 짜던 도중에 다른 조원 분이신 '현'님께서 또 와주셔서 피드백까지 해주신 덕분에 그동안 배워왔던 모든 것들이 짜맞춰지면서 진정한 나만의 1층이 건설된 느낌?... 이 들었다. 내일 여기 1층위에 진짜 나의 2층을 또 세울 수 있을 것 같은 자신감이 든다. 내일은 주희님과 함께 우리가 개발한 코드를 깃허브에 직접 레퍼지토리를 파고 공유해보고 터미널을 통해 수정하고 개발하는 것 을 연습해보기로 했다. 이제 뭔가 재미가 느껴지는 것 같고 성취감... 그래 이게 성취감이지 하는 느낌이 든다!!.. 모두 귀인분들인 것 같다... 어느 한분이 없었더라도 오늘의 지금 이 순간이 만들어지지 않았을 것 같은 느낌이 든다. 오늘 주희님과 함께 작성한 코드를 밑에 표현했다. 지금까지 공부하고 또 연구하느라... 너무 피곤해서 코드를 다시 뜯어보는 건 내일 해봐야 겠다... 내일이 기대가 되는 하루이다!!
public class Main {
public static void main(String[] args) {
Identification id1 = new Identification(); // 객체
id1.name = "JooHee Bae";
id1.country = "Korea";
id1.eyeColor = "Black";
id1.hairColor = "Black";
id1.height = 180;
id1.weight = 100;
// 오버라이딩 <--> 오버라이드 (오버로딩?)
// id1 == id1.toString() ==> 굳이 쓸 필요없음! 그래서 회색깔로 표시됨!
System.out.println("정보의 실제 값 : " + id1); // 기본적으로 여기서 'id' 라는 애는 출력할 때 무조건 .toString();을 이미 생략이 되어있는거
System.out.println("정보의 실제 값 : " + id1.toString());
// 해당 객체의 주소값을 정보값으로 보여주는 역할
System.out.println("객체 내의 모든 값 : " + id1);
}
}
import java.sql.SQLOutput;
public class Identification {
String name;
String country;
String eyeColor;
String hairColor;
int height;
int weight;
public Identification () { // 생성자 -> 메모리에 올라갔다?
}
// 챗지피티 활용 -> 복붙은 금지!!
// 본인의 코드를 챗지피티에 붙여넣지마!! (추후에 보안 문제를 야기한다!!)
// toString 은 추상클래스(?!!) or 인터페이스..?
public String toString() { // toString은 class Identification 이 있어야 작동이 됨 //
return "Identification{" +
"name='" + name + '\'' +
", country='" + country + '\'' +
", eyeColor='" + eyeColor + '\'' +
", hairColor='" + hairColor + '\'' +
", height=" + height +
", weight=" + weight +
'}';
}
}
// toString의 법칙은 변하지 않아
// 사용이유: 객체에 있는 우리가 설정해준 값을 출력해주길 원해서 쓰는것.
// toString (원래 주소를 주는 아이) = 기본
// 우리가 만든 toString(바꾼 리턴값) = 튜닝값
// public String toString() {
// return getClass().getName() + "@" + Integer.toHexString(hashCode());
// }
ps. 좋은 개발자가 되는 법!
=> static 은 메모리에 공간을 차지하기 때문에, 쓰는 것을 지양하도록 하고, 대신에 클래스를 객체화해서 사용하는 것이 좋은 개발자로 성장하는 법이다. 명심해보자!!