2022.07.15 금요일/1~7 자바 이전 내용 요약 정리

Jimin·2022년 7월 15일
0

비트캠프

목록 보기
1/60

프로젝트 과정 요약 정리

001. 프로젝트 준비

$ gradle init

--> ~/git/study-workspace/board-app에 폴더 설정

002. 리터럴과 콘솔 출력

  • UML(Unified Modeling Language)
    • Unified: 통합된
    • Modeling: 생각한 바를 글과 그림으로 표현
    • Language: 문법
  • main method는 프로그램의 시작점, entry point이다.

003. 키보드 입력과 변수, 조건문, 반복문

  1. 아직 App class에 main() method 하나밖에 없음.

  2. Scanner 클래스 + System.in을 이용하여 키보드에서 입력을 받음
    (1) System.in: 키보드의 입력을 받음
    (2) Scanner: System.in이 넘겨준 값을 원하는 형태로 잘라주는 일을 함.
    - nextInt() --> int 값을 자름
    - nextLine() --> String 값을 자름
    (3) 조건문

    int meniNo;
    if(menuNo == 0) { // ==: 연산자
    ...
    }else if (menuNo == 1) {
    ...
    }
    ...

    (4) 반복문(for, while)
    (5) Method

  • Static Method = Class Method
Mathod.abs()
  • Instance Method
Sacnner keyboardInput = new Scanner(System.in);
  • new: Scanner 도구함에 들어 있는 도구를 사용하기 전에 필요 정보를 설정한다.
  • keyboardInput: 레퍼런스(reference), 설정 정보를 가르키는 변수 = 설정 정보가 들어 있는 메모리의 주소를 다는 변수

04 변수 사용법

  1. 변수를 선언할 때 먼저 변수에 값을 저장, 설정해주어야 한다. ==> 초기화 해주지 않고 컴파일 하면 오류가 나게 된다. 초기화 하지 않은 변수는 사용될 수 없기 떄문이다.
int i;
System.out.println(i); --> 컴파일 오류
String title = ""; --> 이런식으로 초기 값을 초기화 해주어야 한다.
  1. SimpleDateFormat 클래스 사용법
    • format(): Instance Method
  2. new Date(createdDate)

005. 배열 사용법

final int SIZE = 3;
  • final: 상수 선언, 유지 보수에 유리
  • 상수 변수는 상수임을 알아보기 쉽게 하기 위하여 대문자로 선언해준다. -> SIZE
int[] no = new int[SIZE]
  • no-> reference, 배열의 주소를 저장하는 변수
  • new int[SIZE]-> 배열 instance
  • index: 배열 메모리를 가리키는 번호, 0부터 시작
no[0] = 1;
  • no: 배열 레퍼런스
  • []안의 0: 인덱스
  • 1: 값
int[] no = new int[3];
np = new int[5];
  • 첫 번째의 new int[3]인스턴스는 garbage가 된다.
    ==> 이를 Garbage Collector가 CPU가 한가하거나 메모리가 부족할 때 garbage를 없앤다.

006. 메서드 사용법

  • main() 메서드에 들어 있는 코드를 기능별로 분리하여 메서드를 정의 -> 이 정의 된 메서드들을 다시 main() 메서드에서 호출
void welcome(){
...
}
main(){
welcome();
}

007. 클래스 사용법

  • 역할을 여러개의 클래스로 쪼개어 관리를 더 쉽게 만든다.
  • GRASP pattern, General Respeonsible Assignment Software Patterns(객체 지향패턴의 근본적인 가이드, 실무 권고)
    - Low Coupling
    => 관련된 Class를 줄여라! -> 다른 클래스의 변경에 따른 영향 최소화
    - High Cohesion
    => 한 클래스가 가능한 한 개의 역할을 수행하도록 해라!(응집력, 집중도)를 높여라!
profile
https://github.com/Dingadung

0개의 댓글