2024. 6. 29. 01:09ㆍ정보처리기사 실기 공부
Section 4. JAVA 언어
1. JAVA의 역사
1990년대 초 미국 Sun Microsystems 사의 James Gosling 과 그 팀이 개발
가전 제품에 사용될 목적으로 개발했으나 인터넷 확산과 함께 널리 사용되기 시작
2. JAVA의 특징
이식성이 높은 언어 : JVM(Java Virtual Machine) 위에서 동작하기 때문에 다양한 플랫폼에서 호환성 제공
객체 지향 언어 : 클래스와 객체를 기반으로 하는 객체 지향 프로그래밍 언어
메모리 자동 관리 : 가비지 컬렉터를 통해 메모리 관리를 자동화
다양한 애플리케이션 개발 : 애플리케이션(웹, 모바일), 엔터프라이즈 시스템 등 다양한 분야의 소프트웨어 개발에 사용
멀티 스레드 구현 : 멀티 스레딩을 지원하여 복잡한 프로그램 개발에 유리
동적 로딩 지원 : 실행(Runtime) 시 필요한 클래스를 로딩할 수 있어 유연한 프로그래밍 가능
오픈 소스 라이브러리 풍부 : 다양한 오픈 소스 라이브러리를 통해 쉽게 개발(근데 파이썬이 훨씬 많음)
3. 기본 구성
(1) 클래스(Class)
객체 속성과 연산 구조 정의하는 틀
속성은 멤버 변수로, 연산은 메서드로 정의됨
(2) 멤버 변수(Member Variable)
객체가 가지는 속성 정의
해당 객체가 가지고 있는 고유한 값
객체의 상태 나타냄
(3) 메서드(Method)
특정 작업을 수행하기 위한 명령문의 집합
멤버 변수의 값이나 상태를 변경하는 데 사용될 수 있는 명령의 집합
(4) 접근 지정자
클래스의 멤버(변수와 메서드)에 대한 접근 권한을 지정
(5) 인스턴스
클래스를 기반으로 생성된 객체의 실체
메모리에 할당되어 실제 작동하는 객체
(6) 객체 정의와 생성
현실 세계를 객체로 표현
4. 객체지향 특징
(1) 생성자(Constructor)
인스턴스 생성 시 초기값 설정하는 역할
자바에서 생성자 이름은 클래스 이름과 동일해야 함
다양한 매개변수를 사용하여 여러 개의 생성자를 오버로딩할 수 있음
(2) 예외 처리(Exception Handling)
프로그램 실행 중 발생하는 예외 상황을 처리하는 방법
예외가 발생했을 때 안정적으로 프로그램을 종료하거나 오류 처리
(3) 상속(Inheritance)
부모 클래스 멤버를 자식 클래스가 상속받아 사용할 수 있음
클래스 재사용을 통해 효율적인 개발과 개발 기간 단축 가능
부모 클래스 private 멤버는 직접 상속받을 수 없음(접근 불가 but 가지고는 있음)
extends 키워드를 사용하여 상속 구현
(4) 메서드 오버라이딩(Method Overriding)
상속 관계에서 부모 클래스의 메서드를 자식 클래스에서 재정의하는 것
부모 메서드와 동일한 이름, 리턴 타입, 매개 변수 가져야 함
추상 클래스나 인터페이스 상속 시 중요한 개념
(5) 메서드 오버로딩(Method Overloading)
같은 이름의 메서드를 매개변수의 개수나 타입을 달리하여 중복 정의하는 것
메서드 이름은 동일하지만 인자 개수나 타입이 다름
4. 추상클래스와 인터페이스
(1) 추상 클래스(Abstract Class)
하나 이상의 추상 메서드(미완성 메서드)를 포함하는 클래스
추상 클래스 자체로는 인스턴스를 생성할 수 없음
- 사용 방법
추상 클래스를 상속받은 자식 클래스에서 모든 추상 메서드를 구현(오버라이딩해야 함)
구현된 메서드를 통해 기능을 완성시킴
(2) 인터페이스(Interface)
모든 메서드가 추상 메서드인 클래스
인터페이스는 상수와 추상 메서드만 멤버로 가질 수 있었으나 최근 자바 버전에서는 더 유연해짐
클래스가 인터페이스를 구현할 때는 인터페이스에 선언된 모든 추상 메서드를 구현해야 함
다중 상속의 효과를 낼 수 있음
'정보처리기사 실기 공부' 카테고리의 다른 글
1과목 - 소프트웨어 구축 [소프트웨어 공학] (0) | 2024.07.02 |
---|