자바(Java) 참조변수의 형변환(업캐스팅/다운캐스팅)
·
JAVA-기초/JAVA기본
참조변수의 형변환? 기본형 변수와 같이 참조변수도 형변환이 가능하다. 단,서로 상속관계에 있는 클래스 사이에서만 가능하다. 자손타입과 조상타입간에 서로 참조변수로의 형변환만 가능하다. 이는 바로 윗 조상이 아닌 최상위 조상인 Object클래스와도 형변환이 가능하다. 업 캐스팅과 다운캐스팅 업 캐스팅 자손 클래스 -> 조상 클래스 : 형변환 생략가능 예시) 다운캐스팅 조상 클래스 -> 자손 클래스 : 형변환 생략불가능 예시를 보면서 이해해보자. 사진에서처럼 조상 클래스1개와 자손 클래스 2개가 있다. 조상클래스와 자손클래스의 형변환이 어떻게 이뤄지는지, 어떤 상황에서 에러가 발생하는지 알아보자. 참고로 자손클래스간의 관계는 전혀 발생하지 않는다. Keybaord - Neonkeyboard // Keyboa..
자바(Java) 다형성(조상클래스,자손클래스)
·
JAVA-기초/JAVA기본
다형성? 여러 가지 형태를 가질 수 있는 능력이란 뜻이며, 한 타입의 참조변수로 여러 타입의 객체를 참조할 수 있도록 한다. 더 자세히 말하면, 조상클래스 타입의 참조변수로 자손클래스의 인스턴스를 참조할 수 있도록 하는 것이다. Keyboard와 NeonKeyboard는 서로 상속관계에 있으며 Keyboard는 조상 클래스, NeonKeyboard는 자손클래스이다. 참조 변수 k 에는 키보드 객체의 주소 값이 담겨 있으며, 참조 변수N에는 네온키보드의 값이 담겨있다. 이처럼 참조변수와 인스턴스의 타입이 일치하는 것이 보통이다. 이번엔 서로 상속관계에있는 두 클래스에서 조상 클래스의 타입의 참조변수로 자손클래스를 참조해보자. Keyboard(조상 클래스)참조변수 K에 NeonKeyboard(자손클래스)의 ..
자바(Java) 인스턴스(객체), 객체 배열
·
JAVA-기초/JAVA기본
인스턴스(instace)? 어떤 클래스로부터 만들어진 객체를 그 클래스의 인스턴스라고 한다. 인스턴스는 객체와 같은 의미이다. 예를 들어 책상은 객체이며, 책상 클래스의 인스턴스이다.라고 생각할 수 있다. 객체의 구성요소 객체는 다양한 속성과 다양한 기능을 갖는다. 속성 - 멤버변수, 특성, 필드, 상태 기능 - 메서드, 함수, 행위 인스턴스의 생성 및 사용 인스턴스(객체)는 참조변수를 통해서만 다룰 수 있으며, 참조변수의 타입은 인스턴스의 타입과 동일해야한다. Computer CP = new Computer();
자바(Java) - 제어자 주의사항
·
JAVA-기초/JAVA기본
제어자를 조합해서 사용할 때 주의해야 할 사항 1. 메서드에 static과 abstract를 함께 사용할 수 없다. 2. 클래스에 abstract와 final을 동시에 사용할 수 없다. fianl은 클래스를 확장할 수 없다는 의미 abstract는 상속을 통해서 의미를 부여한다. 서로 상반되기 때문에 동시에 사용할 수 없다. 3. abstract메서드의 접근 제어자가 private일 수 없다. absttract메서드는 자손클래스에서 의미를 구현해주어야 하기 때문에 접근 제어자가 private이면 접근할 수 없다. 4. 메서드에 private와 fianl을 같이 사용할 필요는 없다. 접근 제어자가 private인 메서드는 오버라이딩 될 수 없기 때문에 final을 사용하지 않아도 캡슐화 되어 다른 클래스에..
리눅스 마스터 2급 1장- LVM과 RAID
·
리눅스/리눅스의 설치
LVM(Logical Volume Manager)? 리눅스를 설치하거나 하드디스크를 추가하면 파티션을 분할하고 공간을 나누게 되는데 공간의 크기는 고정이 되어서 변경이나 용량을 증감하는게 어렵다. 이러한 문제를 해결하기 위해 LVM을 개발했다. 여러 개의 하드디스크를 하나로 뭉치거나 2개또는 3개의 디스크를 여러개의 디스크인것처럼 만들 수 있다. 또한 사용중인 파티션의 크기를 줄이거나 늘릴 수 있는데, 파티션 확장은 디스크를 추가한뒤에 명령을 통해 데이터 이전 없이 손쉽게 가능하다. LVM 관련 용어 1. 물리적 볼륨(PV: Physical Volume) 실제 디스크에 물리적으로 분할한 파티션이다. 예시) /dev/sdb1, /dev/sdc2 이러한 물리적 볼륨을 하나의 구성원으로 받아들이는 형식으로 진..
리눅스 마스터 2급 1장- 파티션 분할
·
리눅스/리눅스의 설치
파티션? 하나의 물리적 디스크를 여러 개의 논리적 디스크로 분할하는 것 파티션 분할의 장점 1. 하나의 디스크에 여러 개의 운영체제를 사용할 수 있다. 리눅스와 윈도우를 같이 사용하고 싶은 경우 파티션을 분할해서 각각 설치하여 부팅이 가능하다. 2. 파티션 단위의 다양한 정책 설정이 가능하다. 파티션 단위로 사용자 및 그룹 쿼터 설정, 보안 및 백업 설정, 파일 시스템 점검 설정 등 다양한 정책 설정이 가능하다. 3. 사용자가 원하는 파일 시스템 구성이 가능하다. 원하는 블록(block)의 크기를 설정하여 디스크 공간 효율을 높일 수 있다. 4. 자료 이전 및 관리, 백업에 용이하다. 분할된 파티션의 데이터인 경우 마운트 포인트를 변경하여 이전 및 관리를 할 수있다. 5. 부팅이 빨라지고 파일 시스템 점..