전체 글
🙌 당신의 삶의 질을 높여주는 Eclipse Shortcut
Eclipse Keyboard Shortcut 실행 Ctrl + F11 : 바로 전에 실행했던 클래스 실행 소스 네비게이션 Ctrl + 마우스커서(혹은 F3) : 클래스나 메소드 혹은 멤버를 상세하게 검색하고자 할때 Alt + Left, Alt + Right : 이후, 이전 Ctrl + O : 해당 소스의 메소드 리스트를 확인하려 할때 F4 : 클래스명을 선택하고 누르면 해당 클래스의 Hierarchy 를 볼 수 있다. Alt + ) : 이전(다음) 작업 화면 문자열 찾기 Ctrl + K : 찾고자 하는 문자열을 블럭으로 설정한 후 키를 누른다. Ctrl + Shift + K : 역으로 찾고자 하는 문자열을 찾아감. Ctrl + J : 입력하면서 찾을 수 있음. Ctrl + Shift + J : 입력하면..
🚀 bitcamp TIL (21.07.21)
📌 18일차(2021-07-21,수) 자바 객체지향 문법(eomcs-java/com.eomcs.oop) ex01 객체 지향 문법 요약 정리 실전 프로젝트(eomcs-java-project) 05-c. 인스턴스 사용법 : 인스턴스 메서드가 필요한 이유와 사용법 📌 알게된 점 local 변수의 lifecycle 언제 생성되어서 언제 소멸되는지 어디에 만들어지는지? 메서드가 생성될 때, 메서드가 종료될 때, JVM stack 사용자 데이터 타입 => 인스턴스 필드(변수) non-static 변수 클래스 변수 - 클래스가 로딩될 때 한 번만 생성된다. (공용적으로 관리) new 연산자를 사용하면 heap에 클래스가 복제된다? 인스턴스 변수가 없으면요? 안만들어지나요? static 메서드와 instance 메서드..
🪁 Calculator를 통해 배우는 Static Method & Instance Method
Calculator를 통해 배우는 Static Method & Instance Method 목적 다음과 같은 Java 코드를 통해 step by step으로 코드를 보완해보고자 한다. Static Method & Instance Method에 대한 이해를 높이고자 한다. package com.mins.oop.ex00; public class UnderstandMethod { public static void main(String[] args) { // 다음 식을 연산자 우선 순위를 고려하지 않고 순서대로 계산하라! // 2 + 3 - 1 * 7 / 3 = ? int result = 0; // 메서드를 호출하여 작업을 수행하고, // 리턴 결과는 로컬 변수에 저장한다. result = plus(2, 3);..
🚀 bitcamp TIL (21.07.20)
📌 17일차(2021-07-20,화) 자바 객체지향 문법(eomcs-java/com.eomcs.oop) ex02 스태틱 필드, 인스턴스 필드, 로컬 변수 비교와 활용 스태틱 메서드, 인스턴스 메서드 비교와 활용 📌 알게된 점 바이트코드 = 기계어에 흡사하게 변환 메서드 호출하면 프레임은 자동적으로 만들어진다. 클래스는 언제 언로드되는가? JVM 종료될 때 클래스로더에 의해 강제적으로 언로드 스태틱 변수는 클래스가 로드될 때 만들어지고 언로드될 때 사라진다. 어디에 생성된다? 언제 생성된다? 언제 제거된다? 파악하자 인스턴스 변수가 사용될 때 이미 스태틱변수는 로딩중 new Test(); Heap 메모리에 인스턴스를 생성한다. Test t1 인스턴스의 주소를 넣을 레퍼런스 변수를 선언한다. Test t1 ..
🚀 bitcamp TIL (21.07.19)
📌 16일차(2021-07-19,월) 실전 프로젝트(eomcs-java-project) 04-d. 클래스 사용법 : 의존 관계 05-a. 인스턴스 사용법 : 클래스 필드와 클래스 메서드의 한계 05-b. 인스턴스 사용법 : 인스턴스 필드가 필요한 이유와 사용법 📌 알게된 점 의존관계 - 얘 없이는 동작할 수 없다. 상황 판단(저것 그것 거시기) -> 객체 객체를 만든다 -> 1. 인스턴스 , 2. 클래스 객체 = 인스턴스는 잘못된 개념이다. (x) 객체는 포괄적인 의미 의존하는 클래스 -> 의존 객체 소프트웨어 설계 = 굵은 것만 정의 -> 만들면서 추가 return; // 메서드 실행을 즉시 종료! 문자열이 빈 문자열을 확인하는 코드 xxx.length() == 0; xxx.equals(""); 메서드..
⌨️ Compile & OS
기계어와 OS 혹시 당신의 소스파일이 다른 데스크탑이나 노트북에서 열리지 않은 경우가 있나요? 그렇다면 2가지를 고려해볼 필요가 있습니다. OS의 일치여부 각 OS(Windows, Mac OS, Linux)에 따라 기계어 배치방법이 다르다. CPU의 일치여부 CPU마다 기계어에 대한 규칙이 다르다. 호환이 되는 CPU는 잘 동작한다. 📌 OS는 다르고 CPU는 같은경우는? 소스파일은 각 OS에 맞는 컴파일러를 통해 컴파일된다. Windows용 컴파일러로 컴파일 하였기 때문에 다른 OS에서 열 수 없다. CPU가 같아도 이미 OS에서부터 접근이 막혀버리기 때문이다. 📌 OS는 같고 CPU가 다른경우는? 같은 Windows 컴파일러를 통해 컴파일 하였다면 OS까지는 괜찮으나 CPU의 호환여부에 따라 실행될 ..
🔎 객체 배열은 왜 사용할까?
객체 배열은 왜 필요할까? 📌 기존 배열의 사용 회원정보를 입력받기 위해 각각의 항목을 배열로 선언하였다. 배열의 size를 초기값 0으로 지정하였다. add()가 호출되고 사용자의 입력이 끝나면 size는 1씩 증가한다. list()를 호출하면 저장된 배열의 인덱스에 따라 회원 목록을 출력한다. import java.sql.Date; public class MemberHandler { static final int LENGTH = 100; static int[] no = new int[LENGTH]; static String[] name = new String[LENGTH]; static String[] email = new String[LENGTH]; static String[] password = ..
[Algorithm] 짝수 개수 구하기
짝수 개수 구하기 주어진 숫자에 짝수가 몇 개인지 세어라. 예) 1010 => 2 123 => 1 출제의도 나머지연산자(%) - 2로 나누면 짝수, 홀수 판별이 가능하다. 몫 연산자(/) - 10으로 나누면 나머지를 제외한 숫자를 알 수 있다. public class CountEvenNum { static int countEvenNumber(int value) { // 1) 짝수의 갯수를 담을 변수를 선언한다. (count) // 2) 파라미터로 들어온 값을 담을 변수를 선언한다.(num) // 3) 반복문을 돌면서 0이 아닐 때까지 돌린다. (while) // 4) 조건문을 사용해서 짝수면 카운트업시킨다. (if/%) // 5) 반복문이 끝나면 결과값을 리턴한다. int count = 0; int nu..