– 객체
자바에서 객체는 데이터와 해당 데이터를 조작하는 메서드를 포함하는 소프트웨어의 기본 구성 요소입니다. 객체는 클래스로부터 생성됩니다.
클래스는 객체를 생성하기 위한 템플릿이며, 객체의 속성(데이터)과 메서드(동작)를 정의합니다. 예를 들어, 자동차 클래스는 속성으로 브랜드, 모델, 색상 등을 가지며, 메서드로 주행, 멈춤, 속도 변경 등의 동작을 정의할 수 있습니다.
객체는 자신만의 상태를 유지하고 다른 객체와 상호 작용할 수 있습니다. 객체 간의 상호 작용은 메시지 전달을 통해 이루어집니다. 한 객체는 다른 객체에 메시지를 보내어 해당 객체의 메서드를 호출하고, 그 결과로 객체의 상태가 변경되거나 다른 동작이 수행될 수 있습니다.
객체지향 프로그래밍의 주요 개념 중 하나인 객체는 코드의 재사용성, 유지 보수성 및 확장성을 향상시키는 데 중요한 역할을 합니다. 객체는 현실 세계의 개념을 모델링하고 프로그램을 구조화하는 데 사용되며, 자바에서는 객체지향 프로그래밍이 핵심적인 개발 방법론입니다.
- 의사나 행위가 미치는 대상
- 구체적, 추상적 데이터의 단위
- 절차 지향 → 시간의 흐름에 따른 프로그래밍
– 객체를 찾아 클래스로 구현
- 클래스는 객체의 청사진 입니다.
- 객체를 정의 하고
- 각 객체의 속성을 맴버 변수로 역할을 메서드로 구현하고
- 각 객체간의 협력을 구현합니다
- 클래스는 대문자로 시작하는것이 좋음
- java 파일 하나에 클래스는 여러 개가 있을 수 있지만, public 클래스는 하나이고, public 클래스와 .java 파일의 이름은 동일함
- camel notation 방식으로 명명
– 함수
자바에서 함수는 특정 작업을 수행하는 코드 블록을 나타냅니다. 함수는 재사용 가능한 코드 조각을 만들고 프로그램을 모듈화하는 데 사용됩니다.
- 하나의 기능을 수행하는 일련의 코드
- 구현된(정의돈) 함수는 호출하여 사용하고 호출된 함수는 기능이 끝나면 제어가 반환됨
- 함수로 구현된 하나의 기능은 여러 곳에서 동일한 방식으로 호출되어 사용될 수 있음
public class FunctionTest { public static void main(String[] args) { int n1 = 10; int n2 = 20; int total = addNum(n1,n2); System.out.println(total); sayHello("Hello"); int sum = calcSum(); System.out.println(sum); } public static int addNum(int num1, int num2) { return num1+num2; } public static void sayHello(String str){ System.out.println(str); } public static int calcSum(){ int i; int sum = 0; for(i = 0; i <= 100; i++){ sum += i; } return sum; } }
– 메서드
메서드는 클래스 내부에 정의되며 클래스의 동작을 구현하는 데 사용됩니다. 메서드를 호출할 때는 해당 메서드의 이름과 필요한 매개변수를 제공합니다. 메서드는 입력(매개변수)을 받아들이고 출력(반환 값)을 반환할 수 있습니다.
- 객체의 기능을 구현하기 위해 클래스 내부에 구현되는 함수
- 멤버 함수 (member function) 이라고도 함
- 메서드를 구현함으로써 객체의 기능이 구현 됨
- 메서드의 이름은 그 객체를 사용하는 객체(클라이언트)에 맞게 짓는것이 좋음
- (예) getStudentName()
public class Student { int studentId; String studentName; String studentAddress; public void showStudentInfo(){ System.out.println(studentName + ',' + studentAddress); } public String getStudentName(){ return studentName; } } public class StudentTest { public static void main(String[] args) { Student studentLee = new Student(); studentLee.studentName = "Lee"; studentLee.studentAddress = "Seoul"; Student studentKim = new Student(); studentKim.studentName = "Kim"; studentKim.studentAddress = "New York"; studentLee.showStudentInfo(); studentKim.showStudentInfo(); System.out.println(studentLee); System.out.println(studentKim); } }
잘보고 갑니다잉