초록꼬마의 devlog
enum
back-end dev/Java 2022. 9. 13. 09:13

pseudocode
back-end dev/Java 2022. 9. 10. 17:44

References Wikipedia

SOLID - 객체 지향 설계 원칙
back-end dev/Java 2022. 9. 8. 20:56

객체 지향 설계 원칙 단일 책임 개방-폐쇄 리스코프 치환 인터페이스 분리 의존 역전

객체 지향의 4가지 기둥
back-end dev/Java 2022. 9. 7. 09:10

상속 캡슐화 다형성 추상화

객체지향 프로그래밍_WHYs
back-end dev/Java 2022. 9. 5. 11:27

왜 클래스를 정의하고 클래스를 통해 객체를 생성해야 할까? 일반적으로 왜 인스턴스 변수의 접근 제어자는 private, 생성자, 메서드의 접근 제어자는 public으로 지정할까? -> 클래스의 어떤 멤버는 어떤 경우에 어떤 접근 제어자를 지정하나?

배열 활용 예시 몇 가지
back-end dev/Java 2022. 9. 2. 11:47

System.arraycopy(원본 배열명, 원본 배열에서 복사 시작할 인덱스, 2차원 배열이 메모리 상에 어떻게 생성되어있는지 그림 그려보기 Arrays.copyOfRange(복사 대상 배열명, 시작 위치, 배열 크기)

형 변환 방법 정리
back-end dev/Java 2022. 8. 30. 23:00

int -> String int -> char char -> int

IntelliJ IDEA *.iml 파일
back-end dev/Java 2022. 8. 5. 23:46

🌱 .iml 파일은 무엇인가?** iml은 **IntelliJ IDEA가 생성하는 모듈 파일로, Java, 플러그인, 안드로이드, Maven 컴포넌트와 같은 개발 모듈에 대한 정보, 모듈 경로, 의존성 및 기타 환경 설정을 저장한다. iml 파일은 코드와 상관 없이 항상 변경되는 바, 유의하지 않으면 다른 개발자들과 check in할 때마다 이 파일을 merge하게 될 것이다. 🌱 .iml 파일을 어떻게 관리할 것인가? 따라서 .gitignore에 포함시킴으로써 Git으로 관리되지 않도록 하는 것이 좋다. ✔️ References Stack Overflow - .iml 파일은 무엇인가? Stack Overflow - .iml 파일과 gitignore

article thumbnail
IntelliJ IDEA 설치(Mac OS) 및 환경 설정
back-end dev/Java 2022. 8. 2. 01:59

목표 Mac OS에 적합한 JDK를 설치합니다. IntelliJ IDEA를 설치합니다. Java 프로젝트를 생성합니다. Git 및 GitHub으로 버전 관리할 수 있도록 세팅하고 GitHub 레포지토리와 연결합니다. 🌿 1. JDK 설치 Zulu OpenJDK 다운로드 페이지에 접속합니다. Java Version과 Operating System, Architecture를 선택합니다. MacOS M1은 Architecture에서 ARM 64-bit를 선택하고, MacOS Intel은 x86 64-bit을 선택해 줍니다. 선택을 모두 완료했다면 ‘.dmg’ 버튼을 눌러 다운로드합니다. 다운로드한 파일을 실행하면 보이는 화면에서 상자를 더블클릭합니다. 상자를 더블클릭하면 설치 창이 나타납니다. '계속' 버튼을..

article thumbnail
[KH정보교육원] 29일차_HashSet, HashMap, Properties
back-end dev/Java 2021. 11. 19. 09:53

2021.11.19(금) 🌿 Set 담고자 하는 값(value)만 저장 + index 개념 없는 바, 저장하고 꺼낼 때 순서 유지x + 새로 넣는 값과 기존 값 비교해서, 중복 값 허용x 똑같은 요소는 넣을 수 없는 + 순서 없는 커다란 바구니 null도 중복을 허용하지 않음 → 1개의 null만 저장됨 원하는 순서대로 뽑아내기 어려움 특징이 조금 다르지만, 사용하는 방법은 list와 똑같음 사용 예시: 중복 체크해야 할 때 e.g. 웹사이트 방문자 수, 회원 가입 시 같은 사람은 중복되면 안 될 때 등 🌱 HashSet HashSet의 특징: 값이 추가될 때마다 equals() 메소드와 hashcode()로 비교 후, 둘 다 결과가 true일 경우 동일 객체로 판단 - equals(): 현재 객체의 주..

article thumbnail
[KH정보교육원] 28일차_(Array)List
back-end dev/Java 2021. 11. 19. 09:12

2021.11.18(목) 🌿 Collection Java = 클래스 기반 언어 -> Java에 있는 모든 내용(제공되는 것 + 내가 만드는 것)은 반드시 어떤 클래스 안에 들어가 있음 컬렉션(collection): [사전적 의미] 모음, 수집 -> [Java] 자료구조가 내장되어있는 클래스, Java에서 제공하는 자료구조를 담당하는 프레임워크 → 데이터가 새롭게 추가/삭제/수정되는 기능(알고리즘)들이 이미 정의되어있는 tool 자료구조: 데이터를 효율적으로 다룰 때(자료/데이터를 다루다 = 데이터 조회, 정렬, 추가, 수정, 삭제) 필요한 개념 -> 데이터 관리가 수월해짐 frame(틀)work(작업): 효율적인 기능들이 이미 정의되어 있는 틀/tool 다량의 데이터를 관리하고자 할 때 지금까지는 배열로..

article thumbnail
[KH정보교육원] 27일차_Wrapper클래스, Input/Output
back-end dev/Java 2021. 11. 17. 14:47

2021.11.17(수) 🌿 Wrapper 클래스 기본자료형(boolean, char, byte, short, int, long, float, double)을 객체로 포장해줌 기본자료형을 객체로 취급해야 하는 경우 메소드 호출 시 = 기본자료형에 대해 메소드를 사용하고 싶을 때 e.g. equals(), compareTo(), 메소드의 매개변수로 기본자료형이 아닌 객체 타입만 요구될 때 다형성을 적용시키고 싶을 때 String 자료형을 기본자료형으로 parsing할 때 ← Java에서 parser는 메소드로 구현되어 있음 표현법: 해당Wrapper클래스이름.parse기본자료형XXX(변환할문자열); 기본 자료형 → String 변환할 때: String.valueOf(변환할기본자료형값) → 반환형 = Str..

article thumbnail
[KH정보교육원] 26일차_String클래스 실습
back-end dev/Java 2021. 11. 16. 22:12

2021.11.16(화) 🌱 String클래스 실습 문제 영어 알파벳으로만 이루어진 문자열(띄어쓰기 포함)을 입력받은 뒤, 각 단어의 첫 글자만 대문자로 변환하는 프로그램을 만드시오. Run 클래스 public class ToUpperCaseRun { public static void main(String[] args) { ToUpperCaseView tucv = new ToUpperCaseView(); } } View 클래스 public class ToUpperCaseView { private ToUpperCaseController tucc = new ToUpperCaseController(); private String userStr = ""; private String upperStr = ""; p..

article thumbnail
[KH정보교육원] 25일차_API, Math클래스, String클래스
back-end dev/Java 2021. 11. 15. 23:03

2021.11.15(월) 🌿 API Application Programming Interface 프로그램/applications를 프로그래밍하기 위한 인터페이스 언어적 측면에서 제공 + 사용자는 세부(구성)내용 몰라도 됨 API의 메소드는 오버로딩이 많이 되어있음 + 사용 가능한 메소드 종류, 사용법 등 잘 모르겠으면 API 문서를 먼저 찾아보기 🌿 java.lang 패키지 🌱 Object 클래스 모든 클래스의 최상위 = 모든 클래스는 Object 클래스를 상속받음 모든 클래스는 Object 타입으로 형 변환 가능 🌱 Math 클래스 모든 필드와 메소드(의 접근제한자)가 static으로 되어있음 → static 메모리 = 프로그램 시작~끝 사용 가능, 객체 생성 필요없이 사용 가능 → 굳이 생성자 필요없..