[JAVA] 상속
상속이란? 상속(Inheritance)은 부모 클래스의 필드와 메서드를 자식 클래스가 물려받아 사용하는 기능이다. 중복 코드를 줄이고, 공통된 기능을 재사용할 수 있음 extends 키워드를 사용하여 상속 자식 클래스는 부모의 기능을 사용할 수 있지만, 부모는 자식의 기능을 모름 자바는 단일 상속만 허용함 (하나의 부모만 상속 가...
상속이란? 상속(Inheritance)은 부모 클래스의 필드와 메서드를 자식 클래스가 물려받아 사용하는 기능이다. 중복 코드를 줄이고, 공통된 기능을 재사용할 수 있음 extends 키워드를 사용하여 상속 자식 클래스는 부모의 기능을 사용할 수 있지만, 부모는 자식의 기능을 모름 자바는 단일 상속만 허용함 (하나의 부모만 상속 가...
클래스와 객체 개념에 대한 자주 나오는 질문 정리
final 이란? 이름 그대로 ‘끝’ 이라는 뜻이다. 변수에 final 키워드가 붙으면 더 이상 값을 변경할 수 없다. final 지역변수 final int number; number = 10; // 최초 한 번은 할당 가능 // number = 20; // 컴파일 오류: 이미 값을 할당했기 때문 //선언과 동시 초기화 fianl int nu...
런타임 데이터 영역(Runtime Data Area) 메서드 영역 : 클래스 정보를 보관, 이 클래스 정보가 붕어빵 틀이다. 스택 영역: 실제 프로그램이 실행되는 영역, 메서드를 실행할 때 마다 하나씩 쌓임 힙 영역: 객체(인스턴스)가 생성되는 영역, 붕어빵틀로 생성된 붕어빵이 존재하는 공간 (new 명령어, 배열) 메서...
접근 제어자 자바는 public, private 같은 접근 제어자(access modifier)를 제공한다. 접근 제어자를 사용하면 해당 클래스 외부에서 특정 필드나 메서드에 접근하는 것을 허용하거나 제한할 수 있다. 접근 제어자를 왜 쓰는지 알아보자. 내가 은행 계좌 시스템을 만들었다. 입금, 출금, 현재 잔액 표시 기능이 있는 단순한 프로...
생성자 왜 쓸까? 객체를 자동으로 초기화 해주기 위해 중복을 줄이고 초기화 로직을 모아서 관리 가능 객체를 다양하게 초기화 가능 (오버로딩) //생성자 O Book book = new Book("Hello Java", "Seo"); //생성자 X Book book = new Book(); book.name = "Hello Java"...
프로그래밍은 크게 두 가지로 나뉘는데 그 두가지를 절차지향 프로그래밍과 객체지향 프로그래밍 이라 한다. 절차지향 프로그래밍(Procedural Programming) 이름 그대로 순서대로 시작하는 일련의 과정을 중심으로 프로그래밍 하는 방식 데이터보단 절차(로직)을 중심으로 생각 프로그램을 순차적이고 단계적인 절차라 생각함. 코드 ...
기본형과 참조형 기본형 소문자로 시작 값을 직접 지정 null 대입 불가 산술연산 가능 기본형을 제외한 나머지 변수는 모두 참조형 참조형 참조값(주소값)을 복사 개발자가 직접 지정 가능 클래스와 배열을 다룰 수 있음 null 대입 가능 산술연산 불가 // 기본형 int a = 10; a = a + 5...
클래스는 개념을 만드는 것. 변수를 사용해 학생의 이름, 나이, 성적을 출력해 보자 public static void main(String[] args) { String student1Name = "학생1"; int student1Age = 15; int student1Grade = 90; ...
JVM 요약도 JVM이란? JVM(Java Virtual Machine)은 자바 바이트코드를 운영체제에 독립적으로 실행할 수 있도록 해주는 가상 실행 환경으로, 클래스 로딩부터 메모리 관리, 실행까지 전 과정을 담당하는 자바의 핵심 엔진입니다. 사용자가 작성한 코드는 Javac(자바 컴파일러)를 통해 JVM이 이해할 수 있는 바이트코드로 변...