JAVA
-
[JAVA] 제네릭과 컬렉션(2)JAVA 2021. 4. 16. 01:15
이번 포스팅도 뉴렉처님 강의를 정리한 내용입니다. 자세한 설명 및 내용은 본 강의를 참고해 주세요! www.youtube.com/watch?v=nHJtdNuKXx8&list=PLq8wAnVUcTFWKOIbvo18pJZ9zsxtXz_-k&index=3 저번 시간에 아래와 같은 코드를 작성했습니다. 위 코드의 문제점은 관리하고 싶은 형태(type)이 int형일 때에만 적용된다는 것입니다. 즉 관리하고 싶은 대상이 문자열이나, 실수형 , 객체형일 때에는 수정을 통해 고쳐줘야 한다는 뜻입니다. 이는 복잡하고 번거러운 작업이며 이를 보완하기 위해 한가지 개념이 필요합니다! 바로 Object라는 녀석입니다. Object는 사용자가 따로 설정해 놓진 않지만 default값으로 들어있는 모든 클래스의 부모입니다. 이와..
-
[JAVA] 제네릭과 컬렉션(1)JAVA 2021. 4. 15. 23:29
본 포스팅은 www.youtube.com/watch?v=VB4vs6jwtkM&list=PLq8wAnVUcTFWKOIbvo18pJZ9zsxtXz_-k 을 보고 정리한 내용입니다. 자세한 설명이나 기술등은 위의 강의를 듣는것이 정확합니다. 현재 스프링부트 클론코딩을 진행중인데, 강의 중 제네릭에 대해 많이 나왔습니다. 제네릭에 대해 안다고 생각했지만, 다시 들으니 왜 써야하는지, 어떻게 써야하는지 전혀 모르는 상태이기 때문에 다시 개념정리를 하려고 합니다! 그냥 듣는거와 포스팅하는것이 많이 차이가 나더라구요! 콜렉션을 사용하는 이유는? 데이터 관리를 직접할 필요가 없습니다. 배열을 직접 사용할 경우 공간을 정해놓고 필요에 따라서 늘리는 작업을 해야하는데 콜랙션이 이를 대신해 줍니다. 즉, 콜랙션은 가변길이 ..
-
[JAVA] 예외 처리하기JAVA 2021. 3. 31. 19:32
오늘은 [JAVA]의 예외처리 방법에 대해 알아보도록 하겠습니다 www.youtube.com/watch?v=zRCHgtxl2vs&list=PLq8wAnVUcTFXN3NjyHA9PUMEsSJy7GIjQ&index=4 위의 강의를 정리한 내용입니다. 내용 설명 및 자세한 기술은 위의 영상을 확인해 주세요! 시작합니다! 우선 위의 두가지 클래스를 만들어줍시다! 이때 위 x+y의 결과의 합이 1000이 넘으면 안되는 코드를 작성해야 한다고 할때 어떻게 할 수 있을까요? 천을_넘는_예외 Class를 만들어 준 후, Add throws declaration을 선택합니다! 여기서 ㅁㅇㅇ add함수에는 throws가 붙는데요, 중학교 영어시간에 배웠죠! s는 복수형태이다! 즉, 예외 처리를 받는 것이 복수형태로 나타낸..
-
[JAVA] 객체지향(8) - 추상화, 추상클래스 만들기JAVA 2021. 3. 23. 14:52
이번시간에는 www.youtube.com/watch?v=Y0okhvvl29U&list=PLq8wAnVUcTFX4E2NplMvJfqlcgAeF_BxK&index=23 를 바탕으로 정리한 내용을 포스팅 하겠습니다. 지난 시간까지 우리는 성적관리 프로그램을 만들었었습니다. 그때 다른 업체에서 우리 프로그램에 관심이 있어서, 의뢰 요청이 들어온것이죠! 이때, 우리는 새로 하나하나 다시 만들어야 할까요? 중복된것은 가져다 쓰면되는데 CTRL + C , CTRL + V 를 하면되는 것일까요? 그러지않고, 추상화라는 개념을 사용하면 됩니다! 위의 그림 처럼 Exam 클래스를 큰 틀로두고, 그 속에서 추가 및 수정해야 할부분을 입력하면 더욱 쉽게 관리할 수 있겠습니다. 즉, Exam이 뼈대로만 사용할 수 있게끔 만들고..
-
[JAVA] 객체지향(7) - IS A 상속, 오버라이드JAVA 2021. 3. 17. 17:46
안녕하세요~ www.youtube.com/watch?v=cZ4MDXz0ipU&list=PLq8wAnVUcTFX4E2NplMvJfqlcgAeF_BxK&index=15 이번 포스팅은 위의 강의를 바탕으로 정리한 내용입니다. IS A 상속이란 무엇일까요 복잡한 정의보다 위의 사진을 보면서 알아가 보도록 합시다! 왼쪽과 같은 로봇을 만든다고 했을 때, has a 상속은 로봇의 부품을 가져다 쓰는 것을 말합니다. 즉 has a 상속을 받아 머리 팔 다리 등을 가져올 수 있습니다. 하지만 is a 상속을 받은 몸통은 왼쪽의 몸통과 다르게 몸통의 틀만 존재합니다. 즉, is a 상속이란 어떤 일정한 틀을 불러오는 것이라고 말할 수 있습니다. is a 상속만 받고 끝나는 것이 아니라, 그 속에서 완성된 부품으로 될 수..
-
[JAVA] 객체지향(6) 코드 재사용JAVA 2021. 3. 17. 15:48
이번 포스팅은 www.youtube.com/watch?v=lMgqHYSyK28&list=PLq8wAnVUcTFX4E2NplMvJfqlcgAeF_BxK&index=13 의 내용을 바탕으로 정리한 내용입니다. 이번 포스팅에서는 코드 재사용에 대해 알아보겠습니다. 코드를 재사용 한다는게 어떤 뜻을 가질까? 라는 생각이 먼저 드는데요. 예를들어서 어떤 학원에서 성적관리 프로그램을 만든다고 합시다! 위와 같은 클래스와 함수들이 필요할 것입니다. 물론 이전에 이런 것 들을 만들어본적이 없으면 차근차근 하나씩 만들어 가면 될 것입니다. 하지만 우리는 성적관리프로그램을 만들어봤기 때문에, 겹치는 부분이 많이 있을 것으로 보입니다. 그럼 어떻게 코드를 재사용 할까요?? 1. 관련된 exam 파일 및 클래스를 복붙한다. ..
-
[JAVA] 객체지향(5) - UI코드의 분리JAVA 2021. 3. 17. 01:56
www.youtube.com/watch?v=efMRwQwxmJM&list=PLq8wAnVUcTFX4E2NplMvJfqlcgAeF_BxK&index=10 이번 포스팅도 위의 강의를 기반으로 작성하였습니다. 지금까지 우리는 완벽한 캡슐화를 이루기 위해 걸어왔습니다. 완벽할 줄 알 았던 캡슐화였지만 아쉽게도 나눌 부분이 또 한가지 발생합니다. 바로 ExamList클래스에서 input() 함수와 print()함수에서의 역할이 2개의 부분으로 나눠집니다. 즉 효율적이지 못한 코드라는 것이죠! 입/출력을 하는 플랫폼은 콘솔, 윈도우, 웹, 모바일이 있다고 합니다! 따라서 오늘은 최종적으로 아래와 같은 모습을 만들겠습니다 아래 코드에서 ------add---를 중심으로 윗 부분은 입력 부분입니다. 아래부분은 데이터를..
-
[JAVA] 객체지향(4) - GETTER, SETTERJAVA 2021. 3. 17. 00:33
안녕하세요 이번 포스팅은 www.youtube.com/watch?v=cStPUeKgSCU&list=PLq8wAnVUcTFX4E2NplMvJfqlcgAeF_BxK&index=8 을 정리한 내용입니다. 오늘은 GETTER와 SETTER에 대해 알아보도록 하겠습니다! 일단 첫번째로 지난 포스팅에서 캡슐화에 대해 배웠고, 캡슐화를 했습니다. 완벽한 캡슐화가 된것일까요? Exam 클래스에서 kor의 값을 바꾸고 저장을 하니 외부 클래스에 영향을 받아습니다. 분명 캡슐화를 했는데 말이죠.. 그럼 캡슐화를 진행하기 위해서 kor을 사용하고있는 함수를 옮겨야할까요? 아닙니다! PrintList가 있어야할 자리는 ExamList 가 맞습니다 그럼 어떻게 해야 외부 클래스의 내용변경에 변하지 않을까요? getter와 se..