전체 글
🚀 bitcamp TIL (21.07.16)
📌 15일차(2021-07-16,금) 실전 프로젝트(eomcs-java-project) 04-a. 클래스 사용법 : 메서드 분류 04-b. 클래스 사용법 : 새 데이터 타입 정의 04-c. 클래스 사용법 : 패키지로 클래스 분류 📌 알게 된 것들 배열을 넘깁니다 = 배열의 주소를 넘깁니다와 같은 말이다. 메서드 관리를 쉽게 하기 위해 클래스로 분류한다. 역할에 따른 분류 데이터 타입을 정의 (사용자정의) 메서드를 분류했으면 그에따라 메서드 이름도 바꾸어준다. (유동적으로) 자원을 닫는 일은 그 자원을 가지고 있는 클래스에서 해야 한다. (남의 지갑가지고 결제하는것과 같은 이치, 어처구니가 없다.) 사용기능에 대해 이거 왜 이래요? (물건 사용법이 있는데 자기 멋대로 사용해놓고 이거 왜 이렇게 안되요?) ..
🚀 bitcamp TIL (21.07.15)
📌 14일차(2021-07-15,목) 자바 기초 문법(eomcs-java) com.eomcs.lang.ex07 메서드에서 new 연산자를 사용하여 변수를 만들기: Heap 영역 재귀호출과 스택 오버플로우 main() 메서드와 프로그램 아규먼트 JVM 아규먼트 com.eomcs.algorithm.quiz Test001 ~ Test004 📌 알게 된 내용들 운영체제가 JVM에게 메모리에 접근할 수 있게 해준다. 가비지컬렉터는 오로지 Heap 메모리와 연관이 있다. (청소하는 영역) method area, JVM stack과 연관이 없다. (★★★★★) new연산자로 만들어지고 주소를 잃어 버린 부분을 청소한다. heap영역의 변수는 마치 배열처럼 연속적으로 배치된다. (메모리가 2차원으로 되어있기 때문에) ..
🙌 메서드와 가변 파라미터, 배열 파라미터의 장단점에 대해 알아보자
📌 메서드의 정의 명령어를 기능 단위로 관리하기 쉽게 별도로 분리하여 묶어 놓은 것. 반복적으로 자주 사용하는 명령어를 재사용하기 쉽도록 별도로 분리하여 묶어 놓은 것. "코드를 관리하기 쉽고 재사용하기 쉽도록 기능 단위로 묶어 놓는 문법" 용어 메서드명, 변수선언 : 메서드 시그너처(method signature) 메서드 블록 : 메서드 몸체(method body) 📌 메서드 종류? 클래스 메서드 클래스에 소속되어 있다. 모든 인스턴스가 공유한다. static이 붙는다. 인스턴스 메서드 특정 인스턴스에 대해 사용한다. static이 붙지 않는다. 1. 명령어 블록을 실행할 때 값을 넘겨주지 않고 결과도 넘겨 받지 않는다. void 메서드명() { 문장1; 문장2; } 예시) public class Te..
🎈 JVM과 Call by value & Call by reference
💻 프로그램이 실행되는 과정 지구상에 있는 모든 컴퓨터는 다음과 같은 방법으로 실행된다. 명령어를 실행시키고 싶다면 HDD에 저장된 실행파일(명령어), 데이터파일(mpeg,mp4)을 RAM으로 가져와야한다. 이를 loading이라고 한다. RAM에서는 해당 실행파일 혹은 데이터파일 중 일부를 읽어서(용량이 크다면) CPU로 보낸다. CPU(L1 캐시)가 작업을 수행한다. JVM의 메모리 구조 Java의 JVM의 메모리는 3가지 구조를 가지고 있으며 각각의 역할은 다음과 같다. 영역 설명 Method Area .class의 내용 (클래스코드, 상수, 클래스 변수) JVM stack 메서드를 호출할 때 생성되는 로컬 변수를 둔다 (메소드,파라미터) Heap (only new) new 연산자로 생성되는 변수 ..
📁 스캐너와 메서드를 활용한 사용자 입력 콘솔 만들기
📌 소개 사용자로부터 구성원, 프로젝트, 작업에 대한 내용을 입력받고 그에대한 내용을 출력하는 프로그램 📌 사용된 메서드 이름 기능 addMember() 멤버를 추가한다 listMembers() 멤버 리스트를 출력한다 addProject() 프로젝트를 추가한다 listProjects() 프로젝트를 출력한다 addTask() 작업을 추가한다 listTasks() 작업을 출력한다 promptString() 문자열을 입력받는다 promptInt() 정수를 입력받는다 promptDate() 날짜를 입력받는다 📌 사용된 문법 문법 for array switch if 📌 step by step 배열을 사용해 입력데이터를 저장하였다. 스캐너를 통해 콘솔로 사용자 입력을 받았다. 1) 회원 데이터를 입력 받는 코드를 ..
🚀 bitcamp TIL (21.07.14)
📌 13일차(2021-07-14,수) 자바 기초 문법(eomcs-java) com.eomcs.lanng.ex07 메서드 활용 call by value 와 call by reference JVM이 메모리 영역: Method Area, JVM Stack, Heap 클래스의 인스턴스 메모리 📌 알게 된 것들 도구에 의존하지 말라 알고 있다는 가정하에 툴을 쓰는것이지 모르는 상태에서 쓰면 안된다. 기능을 뺄건 없는지 확인한다. 보편적인 메서드명 ,변수명을쓴다. 그래야 유지보수 하기 쉽기 때문에 공통적으로 쓰려면 고정값으로 쓰지말고 파라미터로 받아서 유동적으로 처리하자(리팩토링) 실전프로젝트를 배운것들을 10분이내로 할 수 있도록 반복한다. "replace temp with query" 리턴 값을 한 번만 사용한..
🚀 bitcamp TIL (21.07.13)
📌 12일차(2021-07-13,화) 자바 기초 문법(eomcs-java) 실전 프로젝트(eomcs-java-project-2021) 03-a. 메서드 사용법 : 프로그램의 시작점(entry point), main(), 조건문, 반복문(계속) 📌 알게된 부분 깃 주소만 알고 있으면 어디서든 clone할 수 있다. 어떤 조건에 따라 명령어 실행하게끔 = 흐름을 분기시키는 방법 상황에 따른 반복문 사용 방법 훈련 기능 단위로 코드를 분리한다. 메서드 = 동사구형태(90%) 전치사형태 = toString() 명사구형태 = valueOf(), nextLine() 디버깅를 잘 활용하라 break point step into = 메서드 구조 파악 step over = 흐름 파악 기존 코드를 유지보수하기 쉬운 구조로..
💻 2진수와 친해질 수 있을까..? 아니 친해져야 한다
🖱️ 진수 표기법에 대하여 우리가 어릴 때 부터 지금까지 접해왔던 숫자 표기법은 10진수이다. 하지만 프로그래밍 세계에서는 이와 별개로 3개의 표현법이 더 있다. 10진수는 항상 우리가 쓰던 방식이다. 8진수는 0~7까지는 10진수랑 같으며, 8이 되면 올림해서 10으로 표기한다. 2진수 컴퓨터가 받아들이는 디지털 신호이다. (0과 1로 표기) 16진수는 2진수를 쉽게 표현하기 위해서 4bit씩 나누어서 표기한다. (09까지는 10진수와 같으며, 10부터는 af로 표기) 🖱️ 값과 메모리 어떤 값이든 2진수로 표현할 수만 있다면 전기적 신호와 자기적 신호로 바꿀 수 있다. (★★★★★) > RAM/HDD에 저장할 수 있다. 2진수로 바꾸기 위한 규칙이 필요하다. (4가지) 2의보수법을 사용한다. 전기적 ..