본문 바로가기

비전공자11

1일차 (1장, 2장) : 객체는 무엇인가. 현실과 닮은 듯 안 닮은 듯 1장. 협력하는 객체들의 공동체 1장 전체에 걸쳐 강조하는 큰 줄기가 있다. 객체지향이란 상호작용하는 자율적인 객체들의 공동체. 객체의 자율성, 협력, 책임, 메시지, 메소드. 이 모든것들을 출근길 많은 직원들의 커피주문에 빗대어 비유해주고 있다. 물론 실세계의 모방이 실제 객체의 개념과 약간의 간극이 있지만서도. 객체지향 설계라는 예술은 적절한 객체에게 적절한 책임을 할당하는 것에서 시작된다. 전지전능한 객체는 자멸한다. 적절한 책임. 이전에 자바를 처음 배울당시 한 팀원이 한 메소드에 여러 메소드의 기능을 한번에 담았던 기억이 났다. 한 메소드가 10줄이 넘어가지 않는게 좋다는 튜터님의 말. 이 모든것들이 생각났던 구절. 그리고 가장 기억에 남은 표현은 클래스가 아닌 객체에 집중하자 2장. 이상한 나.. 2023. 11. 14.
TIL 230531 : ArrayList와 가까워지기. 나의 1시간을 가져간 허무한 에러 static ArrayList orderArrayList; static double getTotalPrice() { double total = 0; for (Product product : orderArrayList) { total += product.getPrice(); } return total; } ArrayList 안에 Product 형태의 데이터를 받는 'orderArrayList'를 하나 생성했다. 밑에 List안에 받아둔 객체들안에 double형태의 price를 가져오는 getPrice()메소드를 반복실행할 수 있게 코드를 짰다. iterator()를 호출할 수 없다고 한다. 아직 ArrayList가 비어있어서 그런가. 근데 초기화값인 것과 null로 나오는.. 2023. 5. 31.
WIL 230529 : JAVA입문 첫 걸음. FACTS 이번 일주일 동안 있었던 일, 내가 한 일 : 자바 내의 객체지향의 기본적인 요소들을 공부했다. abstract, interface, 상속, 메소드 오버로딩 Static 등. 어렴풋이 이해되는 것 이상으로 이해하고 싶어 다양한 콘텐츠로부터 같은 요소를 다양하게 숙지했다. FEELINGS 나의 감정적인 반응, 느낌 : 실무에선 당연하게 숙지해야할 개념들인 것 같은데, 내가 만족할만큼 이해가 되진않는다. 당장에 과제가 생긴 느낌. 근본적인 이유를 공부해야 나중에 응용이나 대응에 유려해질 수 있을 듯하다. FINDINGS 그 상황으로부터 내가 배운 것, 얻은 것 : 끈질기고 집요하게 숙지하기 위해 계속 나 자신에게 스스로 꼬리질문하는 것을 멈추지 말자. 이런 것들이 쌓였을 때 기본기가 되고 스텝업할.. 2023. 5. 30.
TIL 230525 : @오버라이드 super. this. 지난 시간에 위와 같이 Car 클래스와 Tire, Handle, Door 클래스를 각 객체로 생성해서 포함하는 걸 만들었었다. 그리고 각 클래스에는 생성자에 sout으로 생성자가 실행됐음을 표시해두었고 결과로도 확인할 수 있었다. Car car = new Car(); Car 객체를 생성해서 포함된 객체들도 생성되는지 확인해보자. 추가적으로, 내부 객체들이 먼저 윗줄부터 생성되고, 마지막으로 Car객체가 생성되는 걸 확인할 수 있었다. 상속. 부모로부터 모든 걸 물려받을 수 있는 금수저 클래스같달까. 이번엔 Car 클래스로부터 상속받아 SuperCar클래스를 생성해보았다. 마찬가지로 SuperCar에도 생성시 sout되게 해두었다. 실행해보자. Car 객체까지 생성되는 걸 확인했다. 살짝 예상못한 친구였는.. 2023. 5. 25.
TIL 230524 : 캡슐화..? (접근제어자, getter, setter, 유지보수..) 지난시간 다중상속이 잘 못 이해한거같다.. 객체안에 객체 이해해보려는 흐름. public class Car { //Door생성자. Car객체를 만들 때 Door클래스 객체도 자동으로 만들어짐. Door door = new Door(); } public class Door { String color; } Car 클래스와 color 필드를 갖는 Door 클래스를 만들었고, Car 객체를 만들 때 Door 객체를 만들도록 했다. 자동으로 Door 객체의 변수이름은 door인데 이건 문제없으려나? 다른 Car 객체 ex. car2의 Door 객체도 door일텐데 겹칠텐데..?? 상관없나보다 같은 효자동이어도 전주시 효자동도 있고 경주시 효자동도 있는 그런건지. car1.door.color="red"; Syste.. 2023. 5. 24.
TIL 230522 : toString()은 대괄호를 포함한 배열인 척하는 문자열이었다. 24.09.04 추가지금 다시보니 참 아무것도 모르던 시절의 것으로 가득한 포스팅입니다.이후에 또 지금 모르던 것을 발견할지도 모르겠습니다만, 우선 다시 읽어보며 내용을 추가해봅니다. https://thiswooin.tistory.com/152 List객체를 toString()하게 되면 일어나는 일https://thiswooin.tistory.com/9 TIL 230522 : toString()은 대괄호를 포함한 배열인 척하는 문자열이었다.향상된 for문으로 전체 출력을 해보려 했다. 오류 발생. for-each문에서는 배열이나 Iterable이 필요하다는thiswooin.tistory.com     기존글향상된 for문으로 전체 출력을 해보려 했다. 오류 발생. for-each문에서는 배열이나 Iter.. 2023. 5. 22.