본문 바로가기

Java49

Java 기본 - 상속 상속 예제 코드package extends1.ex1;public class ElectricCar { public void move() { System.out.println("차를 이동합니다."); } public void charge() { System.out.println("충전합니다."); }}package extends1.ex1;public class GasCar { public void move() { System.out.println("차를 이동합니다."); } public void fillUp() { System.out.println("기름을 주유합니다."); }}위 예제코드에서 전기차와 가솔린차는 각.. 2025. 1. 3.
Java 기본 - final ** final : final 키워드가 붙으면 더이상 값을 변경할 수 없다. final은 class, method를 포함한 여러 곳에 붙을 수 있다.package final1;public class FinalLocalMain { public static void main(String[] args) { // final 지역 변수 final int data1; data1 = 10; // 최초 한번만 할당 가능 // 컴파일 오류// data1 = 2; // final 지역 변수2 final int data2 = 10; // data2 = 20; 컴파일 오류 } static void method(.. 2025. 1. 2.
Java 기본 - 자바 메모리 구조 및 static ** 자바의 메모리 구조는 크게 메서드 영역, 스택 영역, 힙 영역 3개로 나눌 수 있다.메서드 영역(Method Area) : 메서드 영역은 프로그램을 실행하는데 필요한 공통 데이터를 관리한다. 이 영역은 프로그램의 모든 영역에서 공유한다.클래스 정보 : 클래스의 실행코드(바이트 코드), 필드, 메서드와 생성자 코드등 모든 실행 코드가 존재한다.static 영역 : static 변수들을 보관런타임 상수 풀 : 프로그램을 실행하는데 필요한 공통 리터럴 상수를 보관.스택 영역(Stack Area) : 자바 실행 시, 하나의 실행 스택이 생성된다. 각 스택 프레임은 지역 변수, 중간 연산 결과, 메서드 호출 정보 등을 포함.스택 프레임 : 스택 영역에 쌍히는 네모 박스가 하나의 스택 프레임이다. 메서드가 실.. 2024. 12. 25.
Java 기본 - 접근제어자 ** 자바는 public, private 같은 접근제어자(access modifier)를 제공한다. 접근 제어자를 사용하면 해당 클래스 외부에서 특정 필드나 메서드에 접근하는 것을 허용하거나 제한할 수 있다. 다음은 스피커의 음량이 절대로 100을 넘으면 안되는 요구사항이 있는 예시 코드이다. Speaker 클래스package access;public class Speaker { int volume; Speaker(int volume) { this.volume = volume; } void volumeUp() { if (volume >= 100) { System.out.println("음량을 증가할 수 없습니다."); } el.. 2024. 12. 21.
Java 기본 - 생성자 생성자란?생성자란 new 연산자에 의해서 단 한 번 호출되는 단위이다. 객체는 new 연산자에 의해서 무조건 단 한 번 호출된다. this()this는 인스턴스 자신의 참조값을 가리킨다.예시 코드MemberConstructpackage construct;public class MemberConstruct { String name; int age; int grade; public MemberConstruct(String name, int age) { this.name = name; this.age = age; this.grade = 50; } public MemberConstruct(String name, int age, int grad.. 2024. 12. 8.
Java 기본 - 객체지향 프로그래밍 절차 지향 프로그래밍절차 지향 프로그래밍은 이름 그대로 절차를 지향.실행 순서를 중요하게 생각하는 방식이다. **객체 지향 프로그래밍과의 차이절차 지향은 데이터와 해당 데이터에 대한 처리 방식이 분리되어 있다. 반면 객체 지향에서는 데이터와 그 데이터에 대한 메서드가 하나의 객체 안의 포함되어 있다.예시 코드 MusicPlayerMain3package oop1;public class MusicPlayerMain3 { public static void main(String[] args) { MusicPlayerData data = new MusicPlayerData(); // 음악 플레이어 켜기 On(data); // 볼륨 증가 incre.. 2024. 12. 7.