객체와 클래스의 차이점
- 클래스란? 객체를 만들어 내기 위한 틀
- 객체란? 클래스의 인스턴스
키워드
- 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 |
---|