본문 바로가기
반응형

🗂 Study/자바8

[Java] 추상 클래스와 인터페이스의 차이점 🔫 추상 클래스 (abstract class) 클래스는 일반 클래스와 추상 클래스로 나뉘는데 추상 클래스는 클래스 내 추상 메서드가 하나 이상 포함되거나 abstract로 정의된 경우를 뜻한다. 추상 메서드를 상속받은 클래스(하위 클래스)는 자기 성질에 맞게 Overriding 하여 사용한다. 추상 메서드 선언부만 작성하고 구현부는 작성하지 않은 채로 남겨둔 것. 상속받는 클래스에 따라 달라질 수 있음. 추상 클래스의 특징 new연산자를 사용하여 객체를 생성할 수 없다. 추상 클래스(부모)와 일반 클래스(자식)는 상속의 관계에 놓여있다. 새로운 일반 클래스를 위한 부모 클래스의 용도로만 사용된다. 일반 클래스들의 필드와 메소드를 통일하여 일반 클래스 작성 시 시간을 절약할 수 있다. 단일 상속만 가능하며.. 2021. 7. 23.
[Java] 오버로딩(Overloading)과 오버라이딩(Overriding) 🔫 오버로딩(Overloading) 같은 이름의 메서드를 여러 개 가지면서 매개변수의 유형과 개수가 다르도록 하는 것 메서드 오버로딩, 생성자 오버로딩이 있다. 리턴 값만을 다르게 갖는 오버로딩은 작성할 수 없다. 오버로딩된 메서드는 컴파일 시에 어떤 메서드를 실행할지 결정한다. 오버로딩 사용 이유 같은 기능을 하는 메서드를 하나의 이름으로 사용할 수 있다. 메서드의 이름을 절약할 수 있다. 오버로딩 성립 조건 메서드 이름이 동일해야 한다. 매개변수의 개수 또는 타입이 달라야 한다. (인자의 순서도 같아야 함) 매개변수는 같고 리턴 타입이 다른 경우는 오버로딩이 성립되지 않는다. 🔫 오버라이딩(Overriding) 상위 클래스가 가지고 있는 메서드를 하위 클래스가 재정의해서 사용하는 것 메서드 이름은 물.. 2021. 7. 14.
[Java] @어노테이션 (Annotation) 어노테이션(Annotation) 어노테이션은 코드 사이에 주석처럼 쓰이면서 특별한 의미·기능을 수행하도록 하는 기술로, 프로그램에게 추가적인 정보를 제공해주는 메타 데이터입니다. 메타데이터(metadata)란? 데이터의 대한 속성정보. 데이터의 대한 데이터로서 하위 레벨 데이터를 설명 및 기술하는 데이터. 어노테이션의 용도 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공한다. 소프트웨어 개발 툴이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 정보를 제공한다. 런타임 시 특정 기능을 실행하도록 정보를 제공한다. 어노테이션을 적용할 때는 어노테이션이 어디에 적용되며 언제까지 어노테이션 소스가 유지될 것인지를 설정해야 하는데 소스코드에는 다음과 같이 어노테이션을 정의해주면 됩니다. 어노테이션 .. 2021. 7. 8.
[Java] JVM의 구조와 Java의 실행방식 Java 프로그램 실행과정 1. 프로그램이 실행되면 JVM(Java Virtual Machine : 자바가상머신)은 OS로부터 이 프로그램이 필요로 하는 메모리를 할당받는다. 2. 자바 컴파일러(javac)가 자바 소스코드(.java)를 읽어들여 자바 바이트코드(.class)로 변환시킨다. 3. JVM의 Class Loader를 통해 class파일들을 로딩한다. 4. 로딩된 class파일들은 JVM의 Execution engine을 통해 해석된다. 5. 해석된 바이트코드는 Runtime Data Area 에 배치되어 실질적인 수행이 이루어지게 된다. 즉, JVM이 main 메소드를 찾아 한줄한줄씩 읽어나가며 method area, heap area, stack area 등에 셋팅한다. 이러한 실행과정 속.. 2021. 6. 15.
반응형