객체란 물리적으로 존재하거나 추상적으로 생각할 수 있는 것 중에서 자신의 속성을 가지고 있으면서 식별 가능한 것을 말한다. 객체는 속성과 동작으로 구성되어 있다.
*객체를 하나씩 조립해서 완성된 프로그램을 만드는 기법을 객체 지향 프로그래밍이라고 한다.
자바는 이 속성과 동작을 각각 필드와 메소드라고 부른다.
객체란 변수와 함수가 모여 만든 하나의 꾸러미로 클래스를 이용하여 객체를 생성할 수 있으며 객체를 생성하여 변수와 함수를
그안에 추가, 수정할 수 있다. 이때 선언된 변수를 '프로퍼티', 이 때 선언된 함수는 '메서드'라고 부른다. 객체 자체는 프로퍼티와 메서드를 갖는 역할만 한다.
현실 세계의 객체를 소프트웨어 객체로 설계하는 것을 객체 모델링이라고 한다. 객체 모델링은 현실 세계 객체의 속성과 동작을 추려내어 소프트웨어 객체의 필드와 메소드로 정의하는 과정이라고 볼수있다.
클래스
-객체를 만드는 기본 도구
-어떤 객체를 표현하는 데이터와 객체의 행동을 나타내는 메소드로 구성
-인스턴스(instance) : 클래스가 생성하는 객체들
-속성(attribute) : 각 객체마다 갖는 특성
-메소드(method) : 모든 객체가 공유하는 행동
-파일에 클래스가 한 개 있는 경우 -> 클래스명과 파일명이 일치해야 함
-하나의 파일에 클래스가 여러 개 있는 경우, 단 한개의 클래스에만 public 키워드가 붙음. (모든 클래스에 public 키워드가 없을 수도 있음)
속성(attribute) : 각 객체마다 갖는 특성
메소드(method) : 모든 객체가 공유하는 행동
객체의 상호작용
현실세계에서 일어나는 모든 현상은 객체와 객체 간의 상호작용으로 이루어져있다. 소프트웨어도 마찬가지다.
객체들은 각각 독립적으로 존재하고, 다른 객체와 서로 상호작용하면서 동작한다. 객체들 사이의 상호작용 수단은 메소드이다. 이때 객체가 다른 객체의 기능을 이용하는것이 바로 메소드 호출이다.
객체는 개별적으로 사용될 수 있지만, 대부분 다른 객체와 관계를 맺고있다. 이 관계의 종류에는 집합 관계, 사용 관계, 상속 관계가 있다.
메소드
계속해서 사용할 코드를 함수로 만든다.
-함수의 일종으로 어떤 특정한 일을 하기 위해 작성된 코드
-'코드 재사용(code reuse' :한 번 작성해 놓으면 필요할 때마다 이름을 불러서 사용
-입력을 받아서 어떤 일을 처리한 후에 결과를 반환
-메소드 정의(method definition) : 메소드를 만들어 놓는것.
-정의한 후에 메소드를 호출해야(method call) 해당 메소드가 수행. (이때 매개변수(parameter)와 인수(argument)를 알아야함
-메소드를 호출할 때 넘기는 값은 인수라고 하고 그 값을 받는 공간을 매개변수
메소드 선언은 선언부(리턴 타입, 메소드 이름, 매개변수 선언)와 실행블록으로 구성된다.
메소드 선언부를 메소드 시그니처라고하며, 선언부와 실행 블록에는 다음 요소를 포함한다.
리턴 타입 : 메소드가 리턴하는 결과의 타입을 표시한다.
메소드 이름 : 메소드의 기능이 드러나도록 식별자 규칙에 맞게 이름을 지어준다
매개 변수 선언 : 메소드를 실행할 때 필요한 데이터를 받기 위한 변수를 선언한다.
메소드 실행 블록 : 실행할 코드르 작성한다.
리턴 타입은 리턴 값의 타입을 말한다. 리턴값이란 메소드를 실행한 후의 결과값을 말한다.
메소드는 리턴값이 있을 수도 있고 없을수도 있으나 리턴값이 있을 경우 리턴 타입이 선언부에 명시되어야 한다.
반환 자료형 : 메소드가 반환할(return) 값의 자료형을 적어줌
반환할 값이 없는 경우에는 void라고 적어줌
매개변수 : 메소드 값을 입력하는 변수
'Java > information' 카테고리의 다른 글
[자바/JAVA] 객체와 인스턴스 (0) | 2023.04.18 |
---|---|
[자바/JAVA] 정적 멤버와 메소드 오버로딩 (0) | 2023.04.14 |
[자바/JAVA] 배열 (0) | 2023.04.10 |
[자바/JAVA] 반복문 (0) | 2023.04.06 |
[자바/JAVA] 조건문 (0) | 2023.04.04 |