본문 바로가기

스터디스터디/정처기

[실기] JAVA

최초 작성일: 2024-09-18

최종 작성일: 2024-09-18

목표 : 정처기 합격 및 CS 지식 쌓기

 

 

 

 

JAVA 언어

이식성 -JVM(Java Virtual Machine)

다양한 애플리케이션 개발

멀티 스레드 구현 : 멀티 스레딩을 지원하여 복잡한 프로그램 개발에 유리

동적 로딩 지원

오픈 소스 라

2. JAVA 기본 구성

(1) 클래스

객체의 속성과 연산의 구조를 정의하는 틀

속성은 멤버 변수로 연산은 메서드로 정의됨

(2) 멤버 변수

객체가 가지는 속성을 정의 ( 나이, 키 등)

해당 객체가 가지고 있는 고유한 값으로, 객체의 상태를 나타냄

(3) 메서드

특정 작업을 수행하기 위한 명령문의 집합

멤버 변수의 값이나 상태를 변경하는 데 사용될 수 있는 명령의 집합

(4) 접근 지정자

클래스의 멤버(변수와 메서드)에 대한 접근 권한을 지정

Public – 접근 제한 없음

Protected – 동일 패키지와 상속받은 클래스

Default – 동일 패키지 (폴더)

Private – 동일 클래스 ( 캡슐화, 정보 은닉)

종류 접근 범위 클래스 패키지 상속 전체
Public 접근 제한 없음 O O O O
Protected 동일 패키지와 상속받은 클래스 O O O  
Default 동일 패키지 O O    
private 동일 클래스 O      

(5) 인스턴스

클래스를 기반으로 생성된 객체의 실체

메모리에 할당되어 실제 작동하는 객체

(6) 객체 정의와 생성

현실 세계를 객체로 정의함

3. 객체 지향 특징

(1) 생성자(Constructor)

인스턴스 생성 시 초기값을 설정하는 역할

자바에서 생성자의 이름은 클래스의 이름과 동일해야함

다양한 매개변수를 사용하여 여러 개의 생성자를 오버로딩 할 수 있음

(2) 예외 처리(exception handling)

프로그램 실행 중 발생하는 예외상황을 처리하는 방법

예외가 발생했을 때 안정적으로 프로그램을 종료하거나 오류를 처리함

Try catch finally

(3)상속

부모 클래스의 멤버를 자식 클래스가 상속받아 사용할 수 있음

클래스 재 사용을 통해 효율적인 개발과 개발 기간 단축 가능

부모 클래스의 private 멤버를 직접 상속받을 수 없음(접근 불가)

Extends 키워드를 사용하여 상속 구현

(4) 메서드 오버라이딩

상속 관계에서 부모 클래스의 메서드를 자식 클래스에서 재정의하는 것

부모 메서드와 동일한 이름, 리턴 타입, 매개 변수를 가져야함

추상 클래스나 인터페이스를 상속받을 때 중요한 개념임

**다형성(오버 로딩, 오버 라이딩- 재정의)

(5)메시지 오버 로딩

같은 이름의 메서드를 매개변수의 개수나 타입을 달리하여 중복 정의하는 것

매서드 이름은 동일하지만 인자의 개수나 타입이 다름

4. 추상 클래스와 인터페이스

(1) 추상 클래스 (abstract class)

구분 설명
개념 -      하나 이상의 추상 메서드(미완성 메서드)를 포함하는 클래스
-      추상 클래스 자체로는 인스턴스를 생성할 수 없음
사용방법 -      추상 클래스는 상속받은 자식 클래스에서 모든 추상 메서드를 구현(오버라이딩)해야함
-      구현된 메서드를 통해 기능을 완성 시킴

(2) 인터페이스(implements)

구분 설명
개념 모든 메서드가 추상 메서드인 클래스
사용방법 -      인터페이스는  상수와 추상 메서드만을 멤버로 가질 수 있었으나 최근 자바 버전에서는 더 유연해짐
-      클래스가 인터페이스를 구현할 때는 인터페이스에 선언된 모든 추상 메서드를 구현해야함
-      다중 상속의 효과를 낼 수 있음