본문 바로가기

CS 기초

💻 JAVA

 

객체와 클래스의 차이점

  • 클래스란? 객체를 만들어 내기 위한 틀
  • 객체란? 클래스의 인스턴스

 

키워드

  • public : 접근제한이 없음
  • protected : 해당 클래스 + 자식 클래스에서 접근 가능
  • default : 동일한 패키지 내에서만 접근 가능
  • private : 해당 클래스내에서만 접근 가능

 

JVM과 JAVA 프로그램 실행 과정

  • JVM이란 JAVS Virtual Machine(자바 가상 머신)의 약자
    • 자바 프로그램을 자바 API를 기반으로 실행하는 역할
  • JAVA프로그램 실행과정
    • 프로그램이 실행되면 JVM이 OS로부터 해당 프로그램이 필요로 하는 메모리를 할당 받음
    • 자바 바이트코드로 변환된(.class) 파일을 class로더를 통해 JVM에 로딩함
    • 로딩된 class파일은 excution engine을 통해 해석, 실행
    • 필요시 garbage collection을 수행해서 불필요하게 할당된 메모리를 해제함

 

Garbage Collection

  • java프로그램은 메모리를 명시적으로 지정해서 해제하지 않기 때문에 Garbage Collection Machine을 통해, 경우에 따라 더 이상 필요없는 객체를 찾아 치우는 작업을 수행함

 

Overriding / Overloading

  • 오버라이딩 : 상위 클래스에 존재하는 메서드를 하위 클래스에 맞게 재정의 하는것
  • 오버로딩 : 두 메서드가 같은 이름을 가지고 있으나, 파라미터 수나 자료형이 다른 경우

 

interface / abstract

  • interface : 상수와 메소드 선언 집합
    • 정의된 메소드를 implements 받은 곳에서 모두 구현을 강제함
    • 인터페이스는 인터페이스끼리 상속이 가능하므로, 여러 인터페이스 상속이 가능함
  • abstract : 추상 클래스는 추상 메소드를 1개 이상 가지고 있는 클래스를 의미
    • 기존 메소드 이외에 추상 메소드를 상속시켜서, 반드시 구현이 필요한 내용인 추상 메소드를 상속받은 클래스에서 구현시키는것이 주목적
    • 추상 메소드를 1개 이상 가진 클래스는 객체 생성이 안되므로, 추상 클래스를 상속받은 클래스의 객체 생성을 위해서는 추상 메서드를 구현해야함

 

디자인 패턴 / 싱글톤

  • 디자인 패턴 : 공통적인 소프트웨어 코드 작성 문제를 해결하는데 도움이 될수있는 코드 패턴을 의미함
  • 싱글톤 : 전체 프로그램에서 단 1개의 객체를 생성해서 공유할수있는 코드 패턴

 

 

'CS 기초' 카테고리의 다른 글

💻 CS 개념 정리  (0) 2020.03.20