이론 공부 25

추상화

추상화 - 공통된 행동, 필드를 묶어 하나의 클래스를 만드는 것 1. 추상 클래스 (=미완성 설계도) - 하나 이상의 추상 메서드(선언만 되어있고 구현부가 없는 메서드)를 포함한 클래스 - 추상 클래스를 상속받는 자식 클래스는 부모 클래스의 추상 메서드를 반드시 구현해야만 하는 강제성을 가짐 2. 목적 - 공통된 필드와 메서드를 통일할 목적 : 필드와 메서드의 이름을 통일하여 유지보수성을 높이고 통일성을 유지할 수 있음 - 실체 클래스 구현 시, 시간 절약 : 추상 클래스로부터 받은 추상 메서드의 구현부만 만들면 되므로 처음부터 끝까지 만들 필요가 없음 - 규격에 맞는 실체 클래스 구현 : 설계자의 의도로써 만들어진 추상 클래스를 개발자가 사용하면 추상 메서드를 반드시 사용해야 함, 오버라이딩 하지 않으..

이론 공부 2023.03.02

상속(Inheritance)

상속(Inheritance) - 객체의 필드와 메서드를 다른 객체가 물려받을 수 있는 기능 - 상속은 화살표가 부모 클래스를 가리킴 ex. 동물 ⇽ 사람 (자식 클래스는 부모 클래스가 1개여야 함) - 부모 클래스가 할 수 없는 것들을 자식 클래스에서 하기 위한 기능 - Is a 관계 : 상속 관계에서만 표현 가능 (동물은 동물이다(O), 동물은 인간이다(X) vs 인간은 인간이다, 인간은 동물이다(O) has a 관계 : 자동차(엔진, 바퀴, 주유구 등) 그냥 자동차가 가지고 있는 것 (포함관계) 1. 장점 - 기존의 클래스를 사용함으로써 재사용성을 높이고 코드의 중복을 줄여 코드가 간결해짐 - 부모 클래스를 상속받는 여러 개의 자식 클래스에서 사용 가능하므로 확장성이 용이 2. 주의할점 - 여러 개의..

이론 공부 2023.02.10

클라이언트/서버

클라이언트 - 웹상 리소스를 요청하는 사용자 or 소프트웨어 (브라우저, 운영체제(윈도우)만 있으면 클라이언트가 될 수 있음) 서버 - 웹상 리소스를 가지고 있다가 사용자가 요청하면 제공하는 컴퓨터 or 소프트웨어(리눅스가 서버 기반 운영체제, 주소(클라이언트 IP 주소, 도메인 주소), 리소스) = 서버 개발 시 127.0.0.1(IP 주소) + localhost(도메인 주소)

이론 공부 2023.02.09

자바 기초 내용 정리

[1] JVM 1. JVM(Java Virtual Machine) - 자바를 실행하기 위한 가상 기계 - 자바는 OS에 종속적이지 않기 때문에 OS에 종속받지 않고 실행되기 위해서는 JVM이 필요함 (OS에 종속받지 않고 CPU가 자바를 인식하고, 실행할 수 있게 해주는 가상 컴퓨터) - JAVA 프로그램용 운영체제로서 자바의 원시코드 .java(소스코드)는 컴퓨터가 인식하지 못하며, 이는 기계어로 컴파일 되어야 하므로 .class(바이너리 파일)로 변환 2. JVM 데이터 영역 = Runtime Data Areas - Method Area, Heap Area, Stack Area, PC register, Native Method Stack - 코드의 데이터 타입에 의해 구분되어 각 영역에 메모리 할당 ..

이론 공부 2023.02.01

클래스와 객체

[1] 클래스 - 속성(학생 이름, 나이 등) + 동작(메서드)를 하나로 묶어 놓은 것 - 반환할 값의 자료형 : int, String 등 - 매개변수 자료형 매개변수 명 : 파라미터, 받아들이는 값 ex. (int num1, String name) 1. 클래스 생성 (접근 제어자) class 클래스명 { 멤버 변수; // int studentID; String studentName; 멤버 메서드; // public void showStudentInfo() { } } 2. 메서드의 구조 (접근 제어자) (반환할 값의 자료형) 메서드명 (매개변수 자료형 메개변수 명) { 명령어 ... return 반환할 값; } - 메서드 생성 시 return type (반환할 값의 자료형)이 없으면 void 작성 - 메..

이론 공부 2023.01.26