1. 인터페이스 쓰는 이유--> 인터페이스는 추상적인 기능에 대한 명세서로, 여러의 객체에서 사용이 가능하다. 이 때문에, 인터페이스를 사용하여 전체적 개발 구도를 빠르게 만들 수 있다.(물론 실제로 객체에 구현하면 해야 하지만, 이 때 인터페이스는 변경 필요없어서 다른 곳에서 재사용 할 수 있다.)--> 하나의 인터페이스로 다양한 객체가 실행 될 수 있다.--> 다중상속의 편리함 2. 인터페이스 선언 위의 예제에서, 추상메소드를 구현한 sleep 은 컴파일 시 자동적으로 @Override 어노테이션이 붙어서, 정확하게 구현 메소드임을 파악된다. 3. 인터페이스는 다중상속이 가능하다.ex) public class A implements 하위인터페이스1 extends 상위1,상위2 {}하지만, 이런 코드가..
1~2. 상속에 대한 기본개념과 사용법 3. 부모 생성자 호출1. 자식이 생성 될 때, 부모 객체도 같이 생성된다.2. 자식 생성자에 첫줄 에는 반드시 부모 객체를 생성하는 super(); 명령문이 있어야 한다. 없으면 자동으로 만들어진다. 4. 오버라이딩1. 오버라이딩 조건 : 동일한 시그니처(리턴타입, 매개변수목록, 메소드이름) 을 가져야 한다.2. 부모 메소드의 접근제한자 보다 더 강하게 접근제한을 걸 수 없다. 약하게는 가능(package -> public 가능) 5. final 클래스, 메소드1. 최종적인 클래스므로 상속 불가능하며, 오버라이딩도 불가능 하다. 6. protected 접근제한자(상속 받았으면 사용할 수 있게해줌)1. protected 가 걸려있는 필드,메소드이고, 이를 사용하는 ..
6-1-1~3. 객체지향 프로그래밍, 클래스, 관계(상속) 등에 대한 개념 소개.6-1-4. OOP 특징캡슐화 : 객체의 필드,메소드를 하나로 묶고 외부에서 구현내용을 알 수 없도록 하는것.상속 : 상위객체의 필드와 메소드 내용을 자식객체에게 물려주는 것.9재사용)다형성 : 실행 시 여러 타입의 객체로 변할 수 있는 성질.6-2~3. 클래스에 대한 기본적인 설명6-4. 객체생성new 연산자 : new 연산자로 힙 영역에 객체 생성 후 메모리 주소 리턴 해준다. Class a = new Class("1234") 일 시 , a는 스택에 저장되는 로컬 참조변수고 이는 힙에 저장된 "1234" 값을 가지는 객체의 주소를 값으로 가진다.생성자끼리도 오버로딩이 가능하다 this(매개변수목록) 을 통하여.6-5~6...
3~4장은 연산자,조건,반복문 기본적인 내용임으로 PASS 1. Runtime Data Area : JVM 이 시작되고 운영체제에서 할당받은 메모리 영역. Runtime Data Areas Method (Static) Area: JVM이 읽어들인 클래스와 인터페이스 대한 런타임 상수 풀, 멤버 변수(필드), 클래스 변수(Static 변수), 생성자와 메소드를 저장되는 공간으로, 모든 스레드에서 공유한다.Runtime Constant Pool메소드 영역에 포함되지만 독자적 중요성이 있다.클래스 파일 constant_pool 테이블에 해당하는 영역이다.클래스와 인터페이스 상수, 메소드와 필드에 대한 모든 레퍼런스를 저장한다.JVM은 런타임 상수 풀을 통해 해당 메소드나 필드의 실제 메모리 상 주소를 찾아 참..
2.1 변수 개념, 선언, 사용법, 사용범위등.2.2 데이터 타입 *String 은 기본 타입이 아니다. String은 클래스 타입 이고, String 변수는 참조변수이다.*문자열을 String 변수에 대입하면 String 객체가 생성 되고, 해당 객체를 가리키는 참조 변수가 생성 되는 것이다.String 객체는 변수 생성방법(new 나 그냥 초기화) 에 따라 heap에 생성되거나 상수풀 영역의 문자열을 가리킨다. 2.3 타입변환자동 타입변환 : 작은 크기 타입 -> 큰 크기 타입강제 타입변환(Casting) : (작은 타입) 큰 크기 타입 -> 작은 크기 타입-> 명시적으로 써줘야만 한다.
Chap01. 자바 시작하기1.1 프로그래밍 언어란?컴퓨터가 이해할 수 있는 언어는 기계어.0과 1로 이루어진 이진 코드이기 때문에 사람이 이해하기에는 매우 어렵다.사람이 사용하는 언어는 컴퓨터 입장에서 보면 이해할 수 없는 문자 집합사람과 컴퓨터가 대화하기 위해서는 다리 역할을 하는 프로그래밍 언어가 필요하다.프로그래밍 언어는 고급언어와 저급언어로 구분.고급 언어 : 컴퓨터와 대화할 수 있도록 만든 언어 중에서 사람이 쉽게 이해할 수 있는 언어.컴퓨터가 바로 이해할 수 없기 때문에 컴파일 과정을 통해서 이진 기계어로 변환 후 컴퓨터가 사용.저급 언어 : 기계어에 가까운 언어.대표적으로 어셈블리어.일반적으로 프로그래밍 언어라고 하면 고급언어를 말한다.C, C++, Java 등.이 언어들로 작성된 내용을 ..