티스토리 뷰

Back-end/Java

JAVA

douStory 2021. 8. 10. 14:10
728x90

1. OT

 

2. 변수

  • 자료형중 String은 초기화 필요 int, double 등은 0으로 자동 초기화
  • 변수제약 중 '숫자로 시작할 수 없다', '특수문자 사용할 수 없다 $,_빼고'

 

3. 자료형

  • byte, boolean (1바이트) short, char(2바이트) int, float(4바이트) long, double(8바이트) 이다.
  • 상수는 final로 정의

 

4.형 변환

  • 묵시적(자동) 작은용량 -> 큰용량, 정수 -> 실수 / 명시적(수동)

 

6. 여러가지 연산자

  • val = ++ num; // 먼저 num값이 1증가
  •  val = num++; // 먼저 대입
  • 조건연산자 int num = (5>3) ? 10 : 20  결과 10

 

7. 조건문

  • switch () {case : break; default;}

구성 한번 보기

 

8. 자바의 함수들

  • 첫부분 검사
String welcomeMessage = "Lorem lpsum~~~";
if(welcomeMessage.startWiths("Lorem lpsum")
  • 중간 텍스트 indexOf()
여러 글자면 ? 첫 글자 index retrun
존재하지 않으면 ? -1 retrun

 

9. 반복문

  • 무한반복 while(true) / for(;;) / break; 로 탈출

 

10. Array

  • int[] scores = new int[4]
  • 얕은게 연결되있는 복사 / 깊은게 독립적인 복사
  • 다차원 배열 int[][] = scores = new int [4][3]

 

11. ArrayList

  • ArrayList<Intager> scores = new ArrayList<Intager>(); // 리스트 생성
  • scores.size() // 사이즈확인
  • scores.remove(1); // index삭제
  • int -> Integer / char -> Character

 

12. Map

  • Map<String, Integer> scores = new HashMap<String, Integer>(); // 맵 생성
  • scores.remove("c"); // key값으로 확인 후 삭제
  • key 값이 중복되면 덮어 씌운다.

 

13. 변수의 범위

  • 지역변수 : 중괄호 안에서만 사용 가능 / 멤버변수 : 클래스 안에서 사용가능

 

16. 메소드

 

17. 메소드 오버로딩

  • 이름만 같고 다른 메소드, 매개변수(타입,개수)로 선택해서 가져다 쓴다.
  • 매개변수가 같고

 

18. 생성자

  • 생성자는 초기화 메소드..
  • new Calculator(); 생성자 호출!

 

19. static

  • 메소드나 멤버변수가 static으로 선언하면, 객체화 없이 사용 할 수 있다.
  • 먼저 공유 메모리에 올라간다.

 

21. 상속(extends)

상위클래스 생성자에 '매개변수'가 있으면, super('매개변수')를 정의하여 이어준다.

  • 메소드 오버라이딩 : 하위클래스에서 이 메소드를 재정의 하는 것
  • IS-A 관계(상속 사용) '사람은 포유류다' / HAS - A 관계(객체 참조, 멤버변수 사용)
  • 화살표 방향 : 하위 -> 상위 (확장한다 라고 생각)

 

22. 추상클래스

  • 추상클래스 = 추상메소드가 있는 클레스 / abstract 사용
  • 추상메소드는 abstract 예약어로 선언하고 {} 대신 ; 를 쓴다.
  • 추상메소드는 빚이고 다 갚을때까지.. 대대손손 물려준다.  

 

23. 인터페이스(implements)

  • default 메소드 : 인터페이스에서 구현부 (implements하는 클래스들이 공통적으로 사용)
  • 정적메소드 사용도 가능 / implemets 한 class 를사용하는 것이 아니라.. 인터페이스를 직접 참조하여 호출가능..
  • 1개의 Class로 여러 인터페이스를 구현할 수 있다 ( public class Customer implements Buy, Sell) , 상속은 안된다 (1개의 클래스만 상속가능..)

Myclass가 구현해야할 추상메소드의 개수는 몇개일까요? 3개..

24. 예외처리

  • try ~ catch ~ finally
  • try : 오류 발생 예상 범위 / catch : 오류가 발생할 경우 / finally : 무조건 실행.. retrun 바로 전에..

 

25. 컬렉션 프레임워크

컬렉션과 맵으로 나눠진다( 컬렉션 - LIST, SET   /   MAP )

List는 index(순서)를 가지고 있다. for 문을 통해 모든 값 조회가 가능하다 (향상된 for ( 변수 : 배열 ) { } )

Set은 순서가 없다. Iterator(순회) 로 모든 값 조회가 가능하다

Map은 key값가 Value 값으로 나눠지고  


26. 내부클래스

  • 인스턴스 내부클래스 : 외부클래스 인스턴스가 선언되어야 사용가능, *static 변수선언 안됨 
  • 정적 내부클래스 : 클래스 안에 있는 static 붙은 클래스.. *static 변수나 메소드 선언 가능, static이 안붙어있는 변수인 경우 { }안에 있어야 사용가능
  • 지역 내부클래스 : 메소드 안에 있는 클래스( like, 지역변수), 메소드의 클래스를 implements(interface 구현) 해야합니다. 메소드를 호출하면 사용가능!
  • 익명클래스 : 메소드 안에 있는 클래스, 클래스 이름이 없다.. { };로 클래스라는걸 표현, 호출은 지역내부 클래스와 동일하다.

27. 스레드 

  • 한번에 2가지 일 처리하기
  • 1. Runnable (interface)를 구현화 하고Thread 객체만들어서 start();
  • 2. 직접 Thread를 상속 받고 동일하게 사용 


28. 람다

  • 1. retrun 함축되어 있음
  • 2. 파라미터가 없으면 int를 반환한다
  • MyNumber max = (x,y) -> ( x >= y) ? x : y;  / max에 메소드를 넣는다.
  • 자바 8부터 사용가능 / 특징 : 익명, 함수, 전달, 갈결성

 

29. 스트림

  • 중간연산(내가 원하는 데이터만 남김)과 최종연산(가지고 계산함)이 있다.

 

30. 자바 입출력

  • 바이트 단위 스트림, 문자 단위 스트림, 기반 스트림, 보조 스트림 (바보문기)

'Back-end > Java' 카테고리의 다른 글

스트림  (0) 2021.08.10
람다(Lambda)  (0) 2021.08.10
스레드  (0) 2021.08.10
내부 클래스  (0) 2021.08.10
컬렉션 프레임 워크(Map)  (0) 2021.08.09
댓글