▶오늘의 주제 : 객체 지향 프로그래밍
객체를 하나씩 조립해서 완성된 프로그램을 만드는 기법을 객체 지향 프로그래밍이라고 합니다.
객체란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있으면서 식별 가능한 것을 말합니다. 현실 세계의 객체를 소프트웨어 객체로 설계하는 것을 객체 모델링 이라고 합니다. 객체가 다른 객체의 기능을 이용하는 것이 바로 메소드 호출입니다.
▶객체 간의 관계
객체 관계의 종류에는 집합관계, 상용관계, 상속관계가 있습니다.
집합 관계 : 객체는 하나의 부품이고 하나의 완성품에 해당합니다.
사용 관계 : 객체 간의 상호작용을 말합니다.
상속 관계 : 상위(부모) 객체를 기반으로 하위(자식) 객체를 생성하는 관계를 말합니다.
▶객체와 클래스
자바에서는 설계도가 바로 클래스 입니다. 클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어 있습니다. 클래스로부터 만들어진 객체를 해당 클래스의 인스턴스라고 합니다.
객체 지향 프로그래밍 개발은 세가지 단계가 있습니다.
1. 클래스를 설계합니다.
2. 설계된 클래스를 가지고 사용할 객체를 생성합니다.
3. 생성된 객체를 이용합니다.
▶클래스 선언
클래스를 선언하는 방법
1. 하나 이상의 문자로 이루어져야 합니다. - Car, SportsCar
2. 첫 글자에는 숫자가 올 수 없습니다. - 3Car (x)
3. $, '_' 외의 특수 문자는 사용할 수 없습니다. - @Car(x) / $Car (0)
4. 자바 키워드는 사용할 수 없습니다. - int(x) / for(x)
자바 언어는 영어 대소문자를 다른 문자로 취급하기 때문에 클래스 이름도 영어 대소문를 다른 문자로 취급합니다. 만약 서로 다른 단어가 혼합된 이름을 사용한다면 각 단어의 첫 글자는 대문자로 작성하는 것이 일반적입니다.
- Calculator, Web_Browser
클래스 이름을 정했다면 '클래스 이름.java' 로 소스 파일을 생성해야 합니다. 반드시 대소문자가 같도록 해야 합니다.
- public class 클래스 이름 { }
여기서 public class는 반드시 소문자로 작성해야 합니다. 클래스 이름 뒤에는 반드시 중괄호 {}를 붙여줍니다.
-public class Car {}
일바적으로 소수 파일당 하나의 클래스를 선언합니다. 하지만 2개 이상의 클래스 선언도 가능합니다.
-public class Car { }
-class Tire { }
▶객체 생성과 클래스 변수
클래스로부터 객체를 생성할려면 다음과 같이 new 연산자를 사용하면 됩니다.
-클래스 변수 = new 클래스 ();
package Study_alone_Book_Java;
public class Chapter_six { //라이브러리로서의 코드 (필드, 생성자, 메소드)
public static void main(String[] args) { //실행하기 위한 코드
Student s1 = new Student();
System.out.println("s1 변수가 Student 객체를 참조합니다.");
Student s2 = new Student();
System.out.println("s2 변수가 또 다른 Student 객체를 참조합니다.");
}
}
S1과 S2는 참조하는 Student 객체는 완전히 독립된 서로 다른 객체입니다.
▶클래스의 구성 멤버
구성 멤버에는 필드, 생성자, 메소드가 있습니다.
- 필드 : 필드는 객체의 고유 데이터, 부품 객체, 상태 정보를 저장하는 곳입니다. 필드는 생성자와 메소드 전체에서 사용되며 객체가 소멸되지 않는 한 객체와 함께 존재합니다.
- 생성자 : 생성자는 new 연산자로 호출되는 특별한 중괄호 {}블록입니다. 생성자 역할은 객체 생성 시 초기화를 담당합니다. 클래스 이름으로 되어 있고 리턴 타입이 없습니다.
- 메소드 : 객체의 동작에 해당하는 중괄호 {}블록을 말합니다. 메소드는 객체 간의 데이터를 전달하는 수단입니다. 외부로부터 매개값을 받아 실행에 이용하고, 실행 후 결과 값을 외부로 리턴할 수도 있습니다.
▶마무리
- 클래스 : 객체를 만들기 위한 설계도입니다.
- 객체 : 클래스로부터 생성되며 'new 클래스()'로 생성합니다.
- new 연산자 : 객체 생성 연산자이며, 생성자를 호출하고 객체 생성 번지를 리턴합니다.
- 클래스 변수 : 클래스로 선언한 변수를 말하며 해당 클래스의 객체 번지가 저장됩니다.
- 인스턴스 : 객체는 클래스의 인스턴스입니다.
- 클래스 멤버 : 클래스에 선언되는 멤버는 필드, 생성자, 메소드가 있습니다.
'Java' 카테고리의 다른 글
Java - 생성자 (0) | 2022.11.24 |
---|---|
Java - 필드 (0) | 2022.11.23 |
Java - 문제풀이 (0) | 2022.11.18 |
Java - 열거 타입 (0) | 2022.11.12 |
Java - 배열 (0) | 2022.11.11 |