프로그래밍공부(Programming Study)/자바(JAVA)

[JAVA] W3C school java tutorial 정리

Chaany 2022. 10. 20.
728x90

1. 배경

  • 모던 자바 인 액션으로 자바 8 이후의 문법 변화에 대해 익히던 도중 자바의 기본 문법에 대해 복습할 필요성을 느낌

2. 아이디어/방안

  1. 다시 자바 기본 문법 공부하지 않고 모던 자바 인 액션 1회독
  2. 자바의 정석
    1. 필요한 부분 발췌독
    2. 전체 1회독
  3. W3C school Java tutorial
    1. 필요한 부분 발췌독
    2. 전체 1회독

3. 채택아이디어 및 이유

  • 3.2. W3C school Java tutorial 전체 1회독
 

Java Tutorial

W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.

www.w3schools.com

4. 학습/적용 내용

Abstact class 사용 이유
   1. 보안성 확보 : 특정 내용들을 숨기거나 객체의 중요한 내용들만 보여줄 수 있음

Interface 사용 이유
   1. 보안성 확보 : 특정 내용들을 숨기거나 객체의 중요한 내용들만 보여줄 수 있음
   2. 다중상속 : java는 기본적으로 단일 상속만 가능하지만 interface의 경우 implement로 다중상속의 개념을 적용할 수 있음

Enum 사용 이유
   1. 변경하지 않을 값을 가질 때 사용(날짜, 색상, 카드덱 등)
Enum vs Class
   1. Enum 상수들은 public, static, final


   2. 상속이 불가능하며, interface 구현은 가능하다.
   
ArrayList vs LinkedList
   1. ArrayList의 경우 내부적으로 배열로 구성되어있는 반면, LinkedList의 경우 container에 저장되어 각 컨테이너들이 link된 형태
   2. 일반적으로 데이터 조회, 저장에는 ArrayList, 조작에는 LinkedList가 적합하다.

Iterator vs for loop/for-each loop
   1. 값을 제거할 때 size의 변화로 인해 index가 변경되기 때문에 for loop/for-each loop 보다는 Iterator를 활용하는 게 좋다.

    Iterator<Integer> it = numbers.iterator();
    while(it.hasNext()) {
      Integer i = it.next();
      if(i < 10) {
        it.remove();
      }
    }

 

5.  느낀점

예전엔 궁금해서 공부하는 게 아니라 입문자로서 공부해서 눈에 들어오지 않는 부분이 참 많았다.
하지만 다시 공부할 때 아는 만큼, 경험한 만큼 보인다는 말을 체감하였다.
특히 접근제어자, interface/abstraction, 다형성, 스레드 부분에 대해 다시 한 번 점검해 보는 유의미한 시간이었다.

 

출처
W3C School Java : https://www.w3schools.com/java/default.asp

 

728x90

댓글