오늘의 진도
1. intelliJ - Git
인텔리제이와 Git 연동하기
팁
settings > version control > git / github에서 연관 설정 가능
인텔리제이 단축키
사용법
로컬 > 깃
•
깃허브 Repository에 내 프로젝트 넣기
1.
깃허브에 Repository 생성, URL 복사
2.
인텔리제이 메뉴의 Git > Manage Remotes > 복사한 URL 링크 삽입
3.
자바 파일 Commit and Push
깃 > 로컬
•
깃허브 Repository 안의 프로젝트를 내 인텔리제이로 가져오기
1.
원하는 깃허브 Repository의 URL 복사
2.
인텔리제이 메뉴의 Git > Clone 선택
3.
URL에 주소 붙여넣은 후 Clone 버튼 누르기
2. OOP답게 프로그래밍하기
연관 개념 (자바의 원칙들)
•
OOP(Object Oriented Programming)
◦
Class = Object
◦
클래스
▪
값을 한 번만 넣고 여러가지 연산을 할 수 있다.
▪
값을 할당하면서 바로 계산하는 곳에 쓴다.
◦
생성자 : 객체를 생성하면서 넣을 값을 지정한다.
◦
생성자 오버로딩 : 이름은 같지만 매개변수가 다르다. 기본값 등을 줄 때 사용함
◦
객체 지향 프로그래밍 <> 함수(Functional)형 프로그래밍
•
DI(Dependence Injection) : 의존 관계
◦
DI한다 = 생성자를 이용해 interface 구현체를 넘겨서 초기화시킨다.
◦
다이어그램 : class 간 의존관계를 나타내는 다이어그램을 보고 그릴 줄 알아야 한다
▪
static을 쓰면 ocp 원칙이 많이 깨지게 된다.
▪
변화를 주는 부분은 인터페이스에만 의존한다.
•
예: 계산은 calculate로 하지만 숫자 생성 로직은 numberCreate라는 구현체에서 진행함.
•
Pojo(Plain Old Java Project) : 오래된 방식의 간단한 자바 오브젝트
◦
Java EE 와 같은 프레임워크 기술에 종속되어 동작하지 않는 순수한 자바 객체
◦
객체지향적인 원리에 충실하면서, 환경과 기술에 종속되지 않고 필요에 따라 재활용될 수 있는 방식으로 설계된 오브젝트
◦
스프링 프레임워크는 POJO 방식의 프레임워크이다.
실습
Calculator 클래스
Calculator클래스를 만들고
// plus minus multiple divide 4개의 메소드를 만들어보세요
각 메소드 기능은 + - * /이고
파라메터는 int a, int b 를 받습니다.
psvm만들지 않습니다.
CalculatorMain 클래스에서 실행 해보세요.
실행은 CalculatorMain에서 합니다.
+
생성자를 추가하고, 매개변수 없애서
변수를 한 번만 할당해서 사칙 연산 수행할 수 있게 코드를 고쳐보세요.
Plain Text
복사
RandomCalculator 만들기
plus, minus, multiple, divide
각 메소드는 parameter를 int형 하나만 받습니다.
randomNumber는 0~9 사이의 정수
plus a + randomNumber
minus - randomNumber
multipe * randomNumber
divide / randomNumber // 0으로 나누면 에러처리
랜덤숫자가 0으로 생성되면 “랜덤하게 생성된 숫자가 0입니다”가 출력되게 한다.
+ 인터페이스 이용하기
1. 인터페이스를 생성하고
2. interface를 구현한 class를 만들고
3. interface를 멤버 변수로 class에 선언하고
4. class를 인스턴스화시킬 때 interface구현체를 new에서 DI해준다.
Plain Text
복사
3. Java Collection
컬렉션 → 데이터를 수집하는 방식
팁
실습
리스트
멋사자 2기 학생의 이름이 들어있는 list를 return하는 method
Plain Text
복사