Skip to content

Instantly share code, notes, and snippets.

@sedin2
Last active February 6, 2020 03:28
Show Gist options
  • Save sedin2/75c5f7db30cab11862eadc77536c0ba6 to your computer and use it in GitHub Desktop.
Save sedin2/75c5f7db30cab11862eadc77536c0ba6 to your computer and use it in GitHub Desktop.
JAVA_BackEnd_Week1

생각해볼 내용

변수의 스코프
접근 한정자
객체 지향 프로그래밍
클래스와 인스턴스
상속
추상 클래스
인터페이스
메소드 오버로딩과 오버라이딩
열거형의 사용법
예외 처리
컬렉션 프레임워크
내부 클래스, 중첩 클래스와 람다
스트림
Optional
IO 스트림

1단계

  • 변수의 스코프 : 변수의 사용 범위?
  • 접근 한정자 : ??
  • 객체 지향 프로그래밍 : 클래스로 객체를 만드는것을 지향 하는 프로그래밍
  • 클래스와 인스턴스 : class Monster가 있으면 이게 클래스고 Monster pikachu = new Monster(); -> pikachu가 인스턴스?
  • 상속 : 피카츄를 클래스로 만들면 더 큰 범주인 몬스터 클래스를 상속받는다. 하위 범주에서 상위 범주를 상속받아 상위 범주에서 선언 해 놓은 메소드등을 사용 할 수 있다.
  • 추상 클래스 : 뼈대만 있는 클래스? 메소드등이 있어도 이름만 있고 구현은 상속받은 클래스에서 구현해서 사용
  • 인터페이스 : 피카츄,파이리,꼬부기 클래스를 만들고 각각 attack()이라는 메소드를 가지고 있으면 attack()메소드를 쓸텐데 각 attack()메소드는 중복되고 실행 내용은 다를 때 인터페이스에 attack()을 선언하고 각각의 클래스에서 인터페이스를 상속받아 내용부를 채워서 사용한다.
  • 메소드 오버로딩과 오버라이딩 : 오버로딩??, 메소드 오버라이딩은 같은 이름의 메소드를 여러개 쓸 수 있게 한 것. ex) 클래스 생성자에서 Monster(), Monster(String name) 이 있다면 선택해서 사용 가능
  • 열거형의 사용법 : ??
  • 예외 처리 : 오류를 처리하는 부분 try-catch
  • 컬렉션 프레임워크 : Collection밑에 Set과List가 있고 Map이 따로 있다. List에 대표적으로 쓰는것은 ArrayList가 있고 Map은 HashMap이 있다.
  • 내부 클래스, 중첩 클래스와 람다 : 클래스 안에 클래스?
  • 스트림 : 람다와 관련?
  • Optional : ??
  • IO 스트림 : 입출력 관련?

2단계, 3단계

  • 변수의 스코프 : 변수의 사용 가능한 범위
    • 클래스 안에 선언된 변수 : 인스턴스 변수 or 클래스 변수
      • 인스턴스 변수에 static을 붙이면 클래스 변수
        • 클래스 변수에 public을 붙이면 전역 변수가 된다.
    • 지역변수는 클래스 이외의 영역에서 선언
    • static 메소드 내에서는 static한 필드만 사용 가능

image

  • 접근 한정자 :

    • 멤버들은 객체 자신들만의 속성이자 특징이므로 대외적으로 공개되는 것이 결코 좋은 것은 아닙니다. 그런 이유로 프로그래머가 객체의 멤버들에게 접근 제한을 걸 수가 있는데 자바에서는 이를 접근 제한자라 합니다.

    • 접근 한정자 종류

      • i) public : 모든 접근을 허용
      • ii) protected : 같은 패키지(폴더)에 있는 객체와 상속관계의 객체들만 허용
      • iii) default : 같은 패키지(폴더)에 있는 객체들만 허용
      • iv) private : 현재 객체 내에서만 허용
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment