본문 바로가기

언어 기초

final [JAVA | 학습을 위한 자료 | 김영한 자바 기본] 자바 상수 특징static final 키워드를 사용한다.대문자를 사용하고 구분은 _ (언더스코어)로 한다. (관례) 일반적인 변수와 상수를 구분하기 위해 이렇게 한다.필드를 직접 접근해서 사용한다. 상수는 기능이 아니라 고정된 값 자체를 사용하는 것이 목적이다. 상수는 값을 변경할 수 없다. 따라서 필드에 직접 접근해도 데이터가 변하는 문제가 발생하지 않는다.public class Constant { //수학 상수 public static final double PI = 3.14; //시간 상수 public static final int HOURS_IN_DAY = 24; public static final int MINUTES_IN_HOUR = 60; public static final int SEC.. 더보기
자바 메모리구조와 static [JAVA | 학습을 위한 자료 | 김영한 자바 기본] 자바 메모리 구조와 static메서드 영역: 클래스 정보를 보관한다. 이 클래스 정보가 붕어빵 틀이다.스택 영역: 실제 프로그램이 실행되는 영역이다. 메서드를 실행할 때 마다 하나씩 쌓인다.힙 영역: 객체(인스턴스)가 생성되는 영역이다. new 명령어를 사용하면 이 영역을 사용한다. 쉽게 이야기해서 붕어빵 틀로부터 생성된 붕어빵이 존재하는 공간이다. 참고로 배열도 이 영역에 생성된다.메서드 영역(Method Area)메서드 영역은 프로그램을 실행하는데 필요한 공통 데이터를 관리한다. 이 영역은 프로그램의 모든 영역에서 공유한다.클래스 정보: 클래스의 실행 코드(바이트 코드), 필드, 메서드와 생성자 코드등 모든 실행 코드가 존재한다.static 영역: static 변수들을 보관한다. 뒤에서 자세히 설명한.. 더보기
접근제어자, 캡슐화 [JAVA | 학습을 위한 자료 | 김영한 자바 기본] 접근 제어자의 종류private: 모든 외부 호출을 막는다.default: 같은 패키지안에서 호출은 허용한다.protected : 같은 패키지안에서 호출은 허용한다. 패키지가 달라도 상속 관계의 호출은 허용한다.public : 모든 외부 호출을 허용한다.순서대로 private이 가장 많이 차단하고, public이 가장 많이 허용한다. private -> default -> protected -> publicprivate 은 나의 클래스 안으로 속성과 기능을 숨길 때 사용, 외부 클래스에서 해당 기능을 호출할 수 없다.default 는 나의 패키지 안으로 속성과 기능을 숨길 때 사용, 외부 패키지에서 해당 기능을 호출할 수 없다.protected 는 상속 관계로 속성과 기능을 숨길 때 사용, 상속 관계가 .. 더보기
생성자 [JAVA | 학습을 위한 자료| 김영한 자바 기본] 자바의 생성자는 클래스의 인스턴스가 생성될 때 호출되어 객체를 초기화하는 특수한 메서드이다. 생성자는 클래스와 동일한 이름을 가지며, 반환 타입이 없다. 생성자의 주요 역할은 객체의 초기 상태를 설정하는 것이다. 생성자는 다음과 같은 특징을 가진다:생성자의 특징이름이 클래스 이름과 동일: 생성자는 클래스 이름과 동일한 이름을 가지며, 반환 타입을 명시하지 않는다.반환 타입이 없음: 생성자는 반환 타입이 없으며, 반환 타입을 명시하지 않는다.자동 호출: 객체가 생성될 때 자동으로 호출된다.오버로딩 가능: 생성자도 메서드처럼 오버로딩할 수 있다. 즉, 동일한 이름의 생성자를 여러 개 정의할 수 있으며, 각 생성자는 서로 다른 매개변수 목록을 가질 수 있다.기본 생성자 제공: 클래스에 생성자가 하나도 정의되지.. 더보기
참조형 [JAVA | 학습을 위한 자료와 스크립트 | 김영한 자바 기본] 가비지 컬렉터 GC   public class ProductOrderMain2 { public static void main(String[] args) {// 여러 상품의 주문 정보를 담는 배열 생성// createOrder()를 여러번 사용해서 상품 주문 정보들을 생성하고 배열에 저장 // printOrders()를 사용해서 상품 주문 정보 출력// getTotalAmount()를 사용해서 총 결제 금액 계산// 총 결제 금액 출력} } public class RefactoringA { public static void main(String[] args) { ProductOrder[] orders = new ProductOrder[3]; orders[0] = cre.. 더보기
클래스와 배열 [JAVA | 학습을 위한 자료 | 김영한 자바 기본] //객체 값 대입 student1.name = "학생1"; student1.age = 15; student1.grade = 90;//객체 값 사용System.out.println("이름:" + student1.name + " 나이:" + student1.age + " 성적:" + student1.grade); 더보기
메서드 [JAVA | 학습을 위한 자료| 김영한 자바 입문] 자바 입출력, 반복문, 조건문, 메서드를 공부할 수 있는 문제이다.public class RefactoringTest { public static void main(String[] args) { int balance = 10000; // 입금 1000 deposit(balance,1000); // 출금 2000 withdraw(balance,2000); System.out.println("최종 잔액: " + balance + "원"); } public static int deposit(int balance, int amount) { balance += amount; System.out.pr.. 더보기
[자바의정석 | Chapter 08 예외처리] try - catch 1. 학습목표 예외처리에 대해 이해할 수 있다. 2.필요 개념 문장정리 프로그램 오류 컴파일 에러는 컴파일 할 때 발생하는 에러이고 프로그램의 실행 도중에 발생하는 에러를 런타임 에러라고 한다. 실행시 발생할 수 있는 프로그램 오류를 에러와 예외 두가지로 구분한다. 에러는 메모리부족이나 스택오버플로우와 같이 일단 발생하면 복구할 수 없는 심각한 오류이고 예외는 발생하더라도 수습될 수 있는 비교적 덜 심각한 것이다. try - catch 문 예외처리란 프로그램 실행 시 발생할 수 있는 예기치 못한 예외의 발생에 대비한 코드를 작성하는 것이며 예외처리의 목적은 예외의 발생으로 인한 실행 중인 프로그램의 갑작스런 비정상 종료를 막고 정상적인 실행상태를 유지할 수 있도록 하는 것이다. try { // 예외가 발.. 더보기