본문 바로가기

분류 전체보기

(56)
[JAVA]_Inheritance(상속) 1. 상속 ▶ 상속관계 상속은 객체 지향 프로그래밍의 요소 중 하나로, 기존 클래스의 필드와 메서드를 새로운 클래스에서 재사용하게 해 줌.이름 그대로 기존 클래스의 속성과 기능을 그대로 물려받는 것.상속을 사용하려면 extends 키워드를 사용하면 되고, 대상은 하나만 선택할 수 있음. ● 용어정리 ●- 부모클래스(슈퍼클래스) : 상속을 통해 자신의 필드와 메서드를 다른 클래스에 제공하는 클래스.- 자식클래스(서브클래스) : 부모 클래스로부터 필드와 메서드를 상속받는 클래스. package extends1.ex1;public class ElectricCar { public void move() { System.out.println("차를 이동합니다."); } public vo..
[JAVA]_final 1. fianl final 키워드는 이름 그대로 끝이라는 뜻.변수에 final 키워드가 붙으면 더는 값을 변경할 수 없음.  ■ final 변수와 상수1 ▶ fianl_지역변수package final1;public class FinalLocalMain { public static void main(String[] args) { // final 지역 변수1 final int data1; data1 = 10; // 최초 한 번만 할당 가능 //data1 = 20; // compile error // final 지역 변수2 final int data2 = 10; // data2 = 20; // compile erro..
[JAVA]_자바 메모리 구조와 static 1. 자바 메모리 구조 ● 종류 ●① 메서드 영역     - 클래스 정보를 보관. (예를 들면 붕어빵 틀)     - 프로그램을 실행하는데 필요한 공통 데이터 관리. 이 영역은 프로그램의 모든 영역에서 공유.② 스택 영역     - 실제 프로그램이 실행되는 영역.     - 자바 실행 시, 하나의 실행 스택이 생성. 각 스택 프레임은 지역변수, 중간 연산 결과, 메서드 호출 정보 등을 포함.     - 메서드 종료되면 해당 스택 프레임 제거.③ 힙 영역     - 객체(인스턴스)와 배열이 생성되는 영역. (new 명령어 사용 시 이 영역 사용.)     - GC(가비지컬렉션)가 이루어지는 주요 영역이며, 더 이상 참조되지 않은 객체는 GC에 의해 제거. !참고! 스택 영역은 더 정확히는 각 스레드별로 하..
[JAVA]_Access Modifier(접근제어자) 1. 접근제어자 접근제어자를 사용하면 해당 클래스 외부에서 특정 필드나 메서드에 접근하는 것을 허용하거나 제한할 수 있음. package access;public class Speaker { int volume; Speaker(int volume) { this.volume = volume; } void volumeUp() { if(volume >= 100) { System.out.println("용량을 증가할 수 없습니다. 최대 음량입니다."); } else { volume += 10; System.out.println("음량을 10 증가합니다."); } } voi..
[JAVA]_Package(패키지) 1. 패키지 만약 쇼핑몰 시스템을 개발한다고 가정했을 때, 클래스가 몇 개 없다면 크게 고민하지 않지만,기능이 점점 추가되어서 많은 클래스가 생성된다면 관련 있는 기능들을 분류해서 관리하고 싶을 것임.폴더, 디렉토리 같은 개념처럼 이것이 패키지임. user     User     UserManager     UserHistory product     Product     ProductCagalog     ProductImage order     Order     OrderService     OrderHistory .... 여기서 user, product 등이 패키지임.해당 패키지 안에 관련된 자바 클래스들을 넣으면 됨. package pack;public class Data { public Dat..
[JAVA]_Constructor(생성자) 1. 생성자 객체를 생성하는 시점에 어떤 작업을 하고 싶다면 생성자 이용.생성자 알아보기 전에 생성자가 왜 필요한지 코드로 간단히 알아보자. package construct;public class MemberInit { String name; int age; int grade;}package construct;public class MethodInitMain1 { public static void main(String[] args) { MemberInit member1 = new MemberInit(); member1.name = "user1"; member1.age = 15; member1.grade = 90; Memb..
[JAVA]_Object Oriented Programming(OOP, 객체지향 프로그래밍) 1. 객체지향 프로그래밍 프로그래밍은 크게 절차지향 프로그래밍과 객체지향 프로그래밍으로 나눌 수 있음. * 절차지향 프로그래밍 * - 이름 그대로 절차를 지향. 즉 실행 순서를 중요하게 생각하는 방식. - 프로그램의 흐름을 순차적으로 따르고 처리하는 방식. => "어떻게"를 중심으로 프로그래밍. * 객체지향 프로그래밍* - 이름 그대로 객체를 지향. 즉 객체를 중요하게 생각하는 방식. - 실제 세계의 사물이나 사건을 객체로 보고, 이러한 객체들 간의 상호작용을 중심으로 프로그래밍하는 방식. => "무엇을" 중심으로 프로그래밍. * 둘의 차이점 * - 절차지향은 데이터와 해당 데이터에 대한 처리 방식이 분리.- 객체지향은 데이터와 그 데이터에 대한 행동(메서드)이 하나의 '객체'안에 함께 포함. packa..
[JAVA]_Primitive and Reference(기본형과 참조형) 1. 기본형과 참조형 변수의 데이터 타입은 크게 기본형과 참조형으로 분류할 수 있음.기본형은 사용하는 값을 변수에 직접 넣을 수 있는 것, 참조형은 객체가 저장된 메모리의 위치를 가리키는 참조값을 넣을 수 있는 것. - 기본형(Primitive Type) : int, long, double, boolean처럼 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입.- 참조형(Reference Type) :      Student student1, int[] students와 같이 데이터에 접근하기 위한 참조(주소)를 저장하는 데이터 타입. (객체, 배열에 사용) 쉽게 말해 기본형 변수에는 직접 사용할 수 있는 값이 들어있지만, 참조형 변수에는 위치(참조값)가 들어가 있음.참조형 변수를 통해서 뭔가 하려면 결..