본문 바로가기

전체 보기81

[JAVA] super와 super(), this와 this() super와 super() 자식 클래스에서 속받은 부모 클래스의 인스턴스(객체)를 가리키는 키워드 사용 부모 클래스로부터 상속을 받았기 때문에, 부모의 멤버변수와 메서드를 사용할 수 있는데 이 때에 자식 클래스에서 부모 클래스의 멤버들을 구분하기 위해서 사용 super와 super()의 차이 super super( ) 부모 클래스의 멤버변수(필드)를 지정 부모의 생성자를 호출하는 메서드 예제 1 super( ) 1. main 메서드 : 실행의 시작 public class StudentTest { public static void main(String[] args) { Colleage c = new Colleage();// 객체 생성(생성자 호출) } } 2. Colleage(자식 클래스) 는 Studen.. 2024. 4. 21.
[JAVA] 다형성, 참조변수의 형변환(업캐스팅, 다운캐스팅) 다형성개념하나의 객체가 여러 타입의 객체를 가질 수 있음 즉, 클래스의 상속 관계에서 부모 클래스 타입의 참조 변수로 자식 클래스의 인스턴스(객체)를 참조할 수 있음1. 부모 클래스의 참조변수가 부모 클래스 본인의 객체뿐만 아니라, 자식 클래스의 인스턴스(객체)도 참조할 수 있음2. 자식 클래스의 인스턴스(객체)를 자식 클래스 타입의 참조 변수 뿐만 아니라, 부모 클래스 타입의 참조 변수로 참조할 수 있음  참조변수의 다형성클래스들 사이에서 반드시 상속 관계가 전제할 것다형성을 위하여 부모 클래스 타입의 참조변수로 자식 클래스 타입의 인스턴스(객체)를 참조할 수 있도록 함 반대의 경우, 자식 클래스 타입의 참조 변수로는 부모 클래스 타입의 인스턴스를 참조할 수 없음그 이유는, 참조 변수가 사용할 수 있는.. 2024. 4. 19.
[JAVA] JAVA 메모리 영역(method, stack, heap 영역) Runtime Data Area 정의 JVM이 프로그램을 수행하기 위해 OS(운영체제)로부터 할당받은 메모리 영역 JVM의 메모리 영역으로 프로그램 실행 시에 사용되는 데이터들을 적재(저장)하는 영역 Runtime Data Area의 5개의 영역 Method Area Heap Area Stack Area PC Register Native Method Stack ✔ Method Area(Static Area, Class Area) 정의 클래스에 대한 정보가 저장되는 영역 특징 1. 클래스와 인터페이스의 메타데이터(메서드, 멤버변수 정보 등)를 Method Area에 저장 프로그램 실행 중에 클래스나 인터페이스를 사용하게 되면 JVM은 ClassLoader(클래스 로더)에게 요청하여 클래스와 인터페이스의 메.. 2024. 4. 19.
[JAVA] 접근 제한자(public < protected < default < private) 접근제한자 클래스나 클래스의 멤버(멤버변수, 메서드, 생성자)에 대한 접근을 제한하는 용도로 사용 접근제한자를 사용하는 곳 클래스 멤버변수(필드) 메서드 생성자 접근 제한자의 종류 public protected defalut(package) private 설명 public < protected < default < privete 오른쪽으로 갈수록 접근 제한이 강화 1. public 모든 외부 클래스에서 접근이 가능 2. protected 같은 패키지에 있는 클래스 다른 패키지라도 상속관계에 있는 클래스는 접근 가능 3. defalut(package) 같은 패키지에 있는 클래스만 접근 가능 4. private 같은 클래스 내에서만 접근 가능 2024. 4. 18.
[JAVA] 상속(특징, 자식과 부모의 인스턴스 생성) 상속 정의 클래스의 상속을 통해서 자식 클래스는 부모 클래스의 멤버변수와 메서드를 물려 받아서 사용하고 부모 클래스와 다른 부분만 추가하거나 부모 클래스로부터 물려받은 메서드를 재정의(메서드 오버라이딩)함으로써 기존의 코드를 쉽게 확장할 수 있음 형식 (extends) 자바에서 상속을 구현할 때는 extends 예약어를 사용 Dog(자식 클래스)가 Animal(부모 클래스)울 상속함(extends) class Animal { } class Dog extends Animal { } class Cat extends Animal { } 상속의 특징 자바는 단일 상속만 지원함(다중 상속 X) [ 다중 상속을 이용하고 싶을 떼 ] 인터페이스(interface)를 사용하여 다중 상속을 이용할 수 있음 부모 클래스의.. 2024. 4. 18.
[JAVA] 변수와 데이터 타입(기본형 타입, 참조형 타입) 변수 정의 데이터를 저장하는 공간 특징 변수에 담을 수 있는 데이터의 타입을 선언하여 사용하여야 하고 변수의 선언과 동시에 값을 초기화 할 수 있음 변수를 선언하면 변수의 데이터 타입에 따라 메모리의 크기가 할당되어 데이터를 읽고 쓰는 공간으로 사용됨 예시 // 변수 선언 int grade; // 데이터타입 변수명 // 변수 선언과 동시에 값 초기화 int score = 100; // 데이터타입 변수명 = 값 초기화 grade 변수의 데이터 타입이 int라서, 메모리 크기가 4byte로 할당 grade 변수에는 실제 값인 100이 담김 변수의 데이터 타입 기본형 타입 참조형 타입 기본형 타입 (Primitive type) 기본형 타입의 종류 정수형 : byte, short, int, long 실수형 : .. 2024. 4. 18.