부모 클래스의 print()함수가 자식 클래스에서 오버라이딩/ 재정의 되어 있을 때 부자되세요 부->자 1. Parent p = new Child(); 자식은 -> 부모로 형변환 가능 만들어지는 클래스 타입은 new 이후 오른쪽 -> 할당되는 참조 변수의 유형은 자식 참조 변수 c로 부모 메소드 호출 가능 -> super 상속 예외!! 1) private 2) 부모의 생성자 3. Child c3 = (Child) p; 형변환 부모 참조변수 p로 자식 클래스를 참조하고 싶을 때!!! 메모리상 Parent 밑에 있는 Child 영역도 p 변수가 접근 가능해진다.
SingleTon 패턴 - 특정 객체에 대해 메모리를 한번 생성하여 사용 (메모리 공유) - 보통 DB에서 잘못된 연산을 수행하지 못하게 하기 위하여 멀티 스레드 환경에서 사용 소프트웨어 디자인 패턴에서 싱글턴 패턴(Singleton pattern)을 따르는 클래스는, 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이고 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴한다. 이와 같은 디자인 유형을 싱글턴 패턴이라고 한다. (위키 백과)
1. JVM과 JAVA 프로그램 실행 과정을 설명해보세요 : JAVA 프로그램은 JVM 상에서 실행되므로 JVM과 JAVA 프로그램의 구조/실행 방식을 잘 이해하고 있어야 효율적인 프로그램 작성이 가능함 # JVM은 JAVA Virtual Machine 자바 가상 머신의 약자 - 자바 프로그램을 자바 API를 기반으로 실행하는 역할을 함 # JAVA 프로그램 실행 과정은 1) 프로그램이 실행되면 JVM이 OS으로부터 해당 프로그램이 필요로 하는 메모리를 할당 받고, 2) 자바 바이트 코드로 변환된 .class 파일을 class 로더를 통해 JVM에 로딩한다 3) 로딩된 class 파일은 execution engine을 통해 해석되고, 실행된다 4) 필요시 gargabe collection을 수행해서, 불..

long, float, double type value long l, L long value = 19873343L; float f, F float f = 13.579F; double d, D double d = 13.579d; // 생략 가능 Java의 Primitive Type 논리형 boolean 정수형 byte, short, int, long 실수형 float, double 문자형 char - 1 bit는 부호 표시에 사용된다. - 양수는 1부터 시작하기 때문에 표현 범위가 -1되어진다. (0을 고려) - 실수형의 range가 표기되어 있지 않은 이유는, 자바에서 실수형은 정확도 보다는 많이 표현할 수 있는 방법을 선택하기 때문이다. 정밀한 소수점 연산을 위한 big decimal 등등.. 별도의 ..

static 멤버들은 클래스를 참조, 실행할 때 static 메모리에 할당된다. static 멤버는 클래스명으로 접근 클래스명.필드명 클래스명.메소드명() public class A { int i = 100; void hello() { System.out.println("A 클래스 안녕"); } } public class B { static int j = 100; static void good() { System.out.println("B 클래스 좋아요"); } } public class Test { public static void main(String[] args) { // 클래스 객체 생성 A a = new A(); A a = new A(); // 동적 메모리 할당 a.hello(); System...
1. 자바 클래스메모리 할당된 My클래스 ==> 객체 (자바의 모든 클래스,), 인스턴스class My { } // ==> My.java Source File // ==> My.class Object File, ByteCode File My m = new My(); // ==> My클래스 객체 생성 (메모리 할당) // ==> My클래스를 사용하겠음 (My클래스가 담고 있는 필드, 메소드를 사용할 준비를 하겠음)\2.자바 어플리케이션 (Java Application)독립적으로 실행할 수 있는 자바 클래스class You { public static void main(Strings[] args) { } } // ==> 자바 어플리케이션2. Java Web Application웹에서의 자바 클래스 : Ser..

1. 예외 처리 1. 예외의 개념 오류 Error : 프로그램적으로 처리할 수 없기 때문에 에러 발생 시 프로그램이 중단됨 네트워크 작업 처리 시 랜선이 끊어짐 전원 공급 중단 Exeption : 프로그래머가 예측하고 프로그램적으로 처리할 수 있는 오류 정수를 0으로 나누는 경우 배열의 인덱스가 음수 값을 가지는 경우 배열의 인덱스가 배열의 길이를 넘어서는 경우 부적절한 형변환이 발생하는 경우 입출력 시 Interrupt 발생 입출력 파일이 존재하지 않을 경우 예외 Exeption 자바는 예외도 객체로 처리한다. 발생 가능성 있는 모든 예외 상황을 미리 예측하여 예외 클래스로 제공한다. 프로그램이 예외 처리 로직을 구현하지 않은 경우에는 기본 예외 처리 핸들러가, 에러 메시지를 화면에 출력하고 실행을 중..

2. 객체지향 언어의 주요 개념 1. 패키지 개요 자바 API 패키지 import 예약어 다른 패키지의 클래스 사용하기 여러 패키지에 동일한 이름의 클래스를 import 하는 경우 2. 사용자 정의 패키지 package의 개념 package 예약어 사용자 정의 패키지와 import 2. 커스텀 라이브러리 사용 커스텀 라이브러리 사용하기 자바는 프로그램 구현에 필요한 중요 클래스들을 API 형태로 JVM에 포함 3. 커스텀 라이브러리 사용 출처 - swexpertacademy.com/