정의: 실행 가능한 파일 형태로 저장장치에 저장된 명령어들의 집합
특징:
예시:
notepad.exe (메모장 실행 파일)chrome.exe (크롬 브라우저 실행 파일)python.exe (파이썬 인터프리터 실행 파일)정의: 실행 중인 프로그램의 인스턴스로, 운영체제로부터 자원을 할당받은 작업 단위
특징:
구성 요소:
프로세스 상태:
정의: 프로세스 내에서 실행되는 가장 작은 실행 단위
특징:
메모리 구조:
장점:
단점:
정의: 객체를 생성하기 위한 설계도 또는 템플릿
특징:
구성 요소:
예시 (Java):
public class Car {
// 속성
private String brand;
private int speed;
// 생성자
public Car(String brand) {
this.brand = brand;
this.speed = 0;
}
// 메서드
public void accelerate() {
speed += 10;
}
public void brake() {
speed = Math.max(0, speed - 10);
}
}
정의: 클래스를 바탕으로 생성된 실체(Instance)
특징:
객체의 3요소:
1. Identity (식별성): 객체를 구별할 수 있는 고유성
2. State (상태): 객체의 속성 값들
3. Behavior (행동): 객체가 수행할 수 있는 동작들
예시:
// 객체 생성
Car myCar = new Car("Toyota"); // myCar는 Car 클래스의 객체
Car yourCar = new Car("Honda"); // yourCar는 Car 클래스의 또 다른 객체
// 각 객체는 독립적인 상태를 가짐
myCar.accelerate(); // myCar의 속도만 증가
yourCar.brake(); // yourCar의 속도만 감소
정의: 객체의 동작을 정의하는 함수
특징:
메서드 종류:
1. Instance Method: 특정 객체에 대해 호출되는 메서드
2. Static Method: 클래스 차원에서 호출되는 메서드
3. Abstract Method: 구현이 없는 추상 메서드
4. Final Method: 오버라이드할 수 없는 메서드
접근 제어자:
예시:
public class BankAccount {
private double balance;
// Instance Method
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
}
}
// Instance Method
public double getBalance() {
return balance;
}
// Static Method
public static double calculateInterest(double principal, double rate) {
return principal * rate;
}
}