본문 바로가기

Language/JAVA

(5)
[JAVA] 추상 클래스 (abstract class) & 인터페이스 (interface) 추상 클래스 (abstract class) 1. 앞에 abstract 키워드 붙여 선언 2. 반드시 추상 메서드 오버라이딩해서 동작 구현해야 함 (추상 메서드 : 메서드 시그니처만 선언하고, 어떤 동작하는지 구체적 내용 정의 X) 3. new 키워드 사용해 직접 객체 생성 X (객체는 상속받는 자식 클래스에서만 생성할 수 있음) 4. 추상 메서드는 물론 동작까지 정의된 일반 메서드 가질 수 있음 [접근 제한자] abstract class 클래스명 {// 필드// 일반 메서드abstract 반환형 메서드명 (매개변수1, 매개변수2...); // 추상 메서드} 인터페이스 (interface) 1. 앞에 interface 키워드 붙여 선언 2. 메서드 선언만 있고 구현은 없는 추상 메서드 포함함 ..
[JAVA] 접근 제한자 접근 제한자 (access modifier)클래스와 클래스 구성 요소에 접근할 수 있는 범위나 권한public- 같은 패키지든 다른 패키지든 상관없이 어디서든 접근 가능- 클래스, 필드, 메서드, 생성자에 모두 사용 가능 protected- 같은 패키지 클래스나 다른 패키지의 상속받은 클래스에서 접근 가능- 클래스에는 사용 X, 필드, 메서드, 생성자에 사용 가능 private- 같은 클래스에서만 접근 가능- 필드, 메서드, 생성자에만 사용 가능 default- 접근 제한자를 따로 명시하지 않으면 자동으로 default 권한 적용- 같은 패키지의 클래스에서만 접근 가능- 클래스, 필드, 메서드, 생성자 모두 가능접근 허용 강도public > protected > default > private
[JAVA] 런타임 데이터 영역의 구조 메서드 영역 (method area)- 프로그램이 시작될 때 클래스 관련 정보가 저장되는 공간- 클래스명, 부모 클래스, 클래스 변수와 필드 정보 (필드명, 자료형 등), 메서드 정보 (메서드명, 반환형, 접근 제한자 등), 메서드 코드 등 저장- 프로그램이 시작될 때 메모리에 로드되고 프로그램이 종료될 때까지 유지- 클래스 모든 객체에 공유 힙 (heap)- 프로그램이 실행되며 동적으로 생성된 객체와 배열이 저장되는 공간- 객체와 함께 인스턴스 변수들도 저장- new 키워드로 생성하면 힙 영역에 저장 스택 (stack)- 메서드 실행과 관련한 정보들이 저장- 지역 변수 (일반 변수, 참조 변수 모두 해당), 메서드 결과 반환 주소 등 해당- 메서드가 실행될 때 자동으로 메모리 할당되고 메서드가 종료..
[JAVA] 음료 자판기 프로그램 작성하기 [조건]① while문을 사용한 무한 반복문으로 작성.② 초기 실행화면은 다음과 같음. *** 자판기 프로그램을 시작합니다. *** 현재 투입된 금액 : 0원1. 콜라 (1,500원)2. 오렌지주스 (2,000원)3. 생수 (1,000원)4. 종료음료를 고리세요. (번호 입력) : ③ 음료 번호를 입력하면 음료 가격과 현재 투입된 금액을 비교. 현재 투입된 금액이 더 크면 금액에서 음료 가격을 뺀 후 음료 선택 화면으로 돌아감. 현재 투입된 금액이 더 적으면 금액이 부족하니 돈을 더 투입하라고 안내함.④ 금액을 입력받아 현재 투입된 금액과 합침.⑤ 4를 입력하면 프로그램 종료. 프로그램을 종료할 때는 마지막에 return; 명령어 추가.⑥ 그 외 번호 입력하면 다시 선택하도록 안내.[초기 코드]packa..
자바 프로그램 실행 과정 편집기에서 작성한 자바 소스 코드는. java 확장자 사용자바 소스 코드 실행 시 자바 컴파일러 거쳐 자바 바이트 코드로 변환 자바 컴파일러(Java compiler)개발자가 작성한 자바 소스 코드를 자바 가상 머신 (JVM)이 이해할 수 있는 언어로 변환시켜 주는 일종의 번역기 자바 컴파일러로 변환된 자바 소스 코드를 자바 바이트 코드 (Java bytecode)라 하며 확장자는. class . java 파일은 컴파일러에 의해. class 파일로 변환되는 과정을 컴파일 타임 (compile time)이라 함 자바 바이트 코드로 변환된. class 파일을 JVM이 읽어 들여 프로그램 실행 JVM자바 프로그램 실행 담당자바 컴파일러와 같은 폴더에 있는. exe가 JVM 구동하는 역할 프로그램 실행되는 과정..