과정평가형 정보처리산업기사
라이브러리 활용
White_Bean
2023. 5. 4. 21:16
1-1. 객체지향 설계 원칙의 이해
객체지향 속성
- 캡슐화 : 객체의 속성과 행위를 하나로 묶고, 실제 구현 내용 일부를 외부에 감추어 은닉함
- 추상화 : 어떤 실체로부터 공통적인 부분이나 관심 있는 특성들만 하나로 모은 것
- 다형성 : 같은 모양의 함수가 상황에 따라 다르게 동작하는 것 (오버로딩, 오버라이딩)
- 오버로딩 : 함수 이름은 같으나 함수의 매개 변수 숫자, 타입 등을 다르게함
- 오버라이딩 : 상위 클래스의 메소드를 하위 클래스에서 똑같은 이름으로 재정의
- 정보 은닉 : 캡슐화 정보들을 밖에서 접근 불가능하도록 하는 것
- 상속성 : 부모 클래스에서 새로운 기능을 추가해 자식 클래스를 만들어 사용하는 기법
객체지향 설계 원칙
- 단일 책임 원칙(Single Responsiblity Principle) : 모든 클래스는 각각 하나의 책임만 가져야함
- 개방-폐쇄 원칙(Open Closed Principle) : 기존의 코드를 변경하지 않고(Closed), 기능을 추가할 수 있도록(Open) 설계가 되어야 함
- 리스코프 치환 원칙(Liskov Substitution Principle) : 자식 클래스는 자신의 부모 클래스를 대체할 수 있음
- 인터페이스 분리 원칙(Interface Segregation Principle) : 한 클래스는 자신이 사용하지 않는 인터페이스는 구현하지 말아야 한다 (평범한 인터페이스 < 여러 개의 구체적인 인터페이스)
- 의존 역전 원칙(Dependency Inversion Principle) : 변화가 없는 것에 의존해야 한다 (구체적인 클래스 < 인터페이스, 추상 클래스)
1-2. 객체지향 프로그래밍 언어 활용
객체지향 프로그래밍 언어의 개요
프로그래밍에서 필요한 데이터를 추상화시켜서 상태와 행위를 가진 객체를 만들고, 객체들 간의 유기적인 메시지를 통해 상호작용 로직을 구성하는 프로그래밍 (*추상화*)
객체지향 프로그래밍 언어 구성 요소
객체 프로그래밍은 기본적으로 클래스 구조에서 시작
클래스는 객체 지향 개념에서 객체를 정의하는 틀
클래스의 기본 구성요소는 변수와 메소드
- 클래스 (Class) : 같은 종류의 집단에 속하는 속성과 행위를 정의하는 것 (기본적인 사용자 정의 데이터형)
- 클래스 이름과 소스 파일명은 동일
- 여러 클래스로 구성되며 실행을 위해 main() 메소드를 사용
- 객체 (Object) : 클래스의 인스턴스(Instance)로 자신 고유의 데이터를 가짐
- main() 메소드는 프로그램 실행 진입점, 실제 클래스를 사용하려면 new()연산을 통해 인스턴스를 생성해야함
- main() 에서 클래스부에 선언된 변수를 접근할 수 없으며 인스턴스를 통해 사용
- 인스턴스에서 변수와 메소드 사용은 인스터스명 다음에 변수명, 인스터스명, 메소드명과 같은 형식으로 사용
- 메소드 (Method) : 클래스로부터 생성된 객체를 사용하는 방법 (특정 기능을 수행하면서 객체에 명령을 내림)
- 속성 (Property) : 한 클래스 내에 속한 객체들이 가지고 있는 데이터 값을 단위별로 정의한 것 (성질이나 분류 또는 현재 상태 등에 대한 표현값을 가지고 있음)
클레스 , 메소드 선언 예시
// 클래스 선언
public class MyClass {
// 변수 선언
int num1;
Message msg;
// 메소드
public void printName(String name) {
...
}
// 메소드
public Message getMessage() {
...
}
// 메인 메소드
public static void main(String[] args) {
// 클래스 인스턴스 생성
MyClass mc = nwe MyClass();
...
}
}
접근 지정자
- public : 모든 접근을 허용함
- protected : 자기 자신 클래스 및 상속받은 자식 클래스에서만 접근 허용
- private : 자기 자신 클래스 내부의 메소드만 접근을 허용
- default : 접근 지정자를 명시하지 않음 (다른 패키지일 때는 접근 불가)
2-1. 객체지향 프로그래밍 언어 기본 문법
데이터 타입
원시형 자료는 자바에서 기본적으로 사용하고 있는 char, boolean, byte, short, int, long이 기본적
비원시적 자료형의 경우는 원시형 자료형을 묶어서 만든 것으로 단독의 자료형을 사용 (String, etc, Array)
변수와 메소드
변수는 데이터를 저장하기 위한 메모리 공간에 대한 이름으로 저장할 데이터의 크기를 알아야 필요한 공간을 확보 가능
메소드는 특정 객체의 동작이나 행위를 정의한 것