| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 오라클
- jsp
- java
- 프로그래머스
- 코드테스트
- 스프링
- 백엔드
- jpa
- 서버
- 프론트엔드
- 정리
- 스프링부트
- 코드 테스트
- 쿼리
- 프런트엔드
- 알고리즘
- BACK-END
- node.js
- 자바스크립트
- MySQL
- Next.js
- web
- spring
- 미니정리
- 자바
- SQL
- JavaScript
- oracle
- 데이터베이스
- 디자인 패턴
- Today
- Total
참치코더의 꿈 메모장
2021/08/01 Java - 객체 지향 프로그래밍 본문
객체들은 각각 독립적으로 존재하고, 다른 객체와 서로 상호작용 하면서 동작한다.
객체들 사이의 상호작용 수단은 메소드 이다.
*객체가 다른 객체의 기능을 이용하는 것이 바로 메서드 호출이다.
리턴값 = 전자계산기객체.메소드(매개값1, 매개값2);
*도트 연산자는 객체의 필드와 메소드에 접근할 때 사용한다.
객체의 상호작용은 객체 간의 메소드 호출을 의미하며 매개값과 리턴값을 통해서 데이터를 주고 받는다.
객체와 클래스
클래스
자바에서는 설계도가 클래스이다. 클래스에는 객체를 생성하기 위한 필드와 메소드가 정의되어 있다.
인스턴스
클래스로 부터 만들어진 객체를 해당 클래스의 인스턴스 라고 한다.
*클래스로부터 객체를 만드는 과정을 인스턴스화 라고 부른다.
*main()메소드가 없는 클래스는 객체 생성 과정을 거쳐 사용해야 한다.
클래스 선언
클래스 식별자 작성 규칙
1. 하나 이상의 문자로 이루어져야 한다.
2. 첫 글자에는 숫자가 올 수 없다.
3. $, '_'외의 특수 문자는 사용할 수 없다
4. 자바 키워드는 사용할 수 없다.
* 만약 서로 다른 단어가 혼합된 이름을 사용한다면 각 단어의 첫 글자는 대문자로 작성하는 것이 일반적이다
public class 클래스이름 {
}
*일반적으로 소스 하나당 하나의 클래스를 선언하지만 2개 이상의 클래스 선언도 가능하다.
객체 생성과 클래스 변수
클래스로부터 객체를 생성하려면 new 연산자를 사용하면 된다.
new 클래스( );
new는 클래스로부터 객체를 생성시키는 연산자이다.
new 연산자는 힙 영역에 객체를 생성시킨 후 객체의 번지를 리턴하도록 되어 있다.
이 주소를 참조 타입인 클래스 변수에 저장해두면 변수를 통해 객체를 사용할 수 있다.
클래스 변수;
변수 = new 클래스( );
클래스 변수 = new 클래스();
클래스의 용도
클래스는 두 가지 용도가 있다.
하나는 라이브러리 용이고 다른 하나는 실행용이다.
라이브러리 클래스는 다른 클래스에서 이용할 목적으로 설계된다.
클래스의 구성멤버
클래스에는 객체가 가져야할 구성 멤버가 선언된다.
구성 멤버에는 필드, 생성자, 메소드 가 있다.
* 이 구성 멤버 들은 생략되거나 복수의 개수로 작성될 수 있다.
필드
필드는 객체의 고유 데이터, 부품 객체, 상태 정보를 저장하는 곳이다.
필드는 생성자와 메소드 전체에서 사용되며 객체가 소멸되지 않는 한 객체와 함께 존재한다.
생성자
생성자는 new 연산자로 호출되는 특별한 중괄호 { } 블록이다
생성자의 역할은 객체 생성 시 필드를 초기화 하거나 메소드를 호출해서 객체를 사용할 준비를 한다.
*생성자는 클래스 이름으로 되어 있고 리턴 타입이 없다.
메소드
메소드는 객체의 동작에 해당하는 { } 블록을 말한다.
'JAVA' 카테고리의 다른 글
| 2021/08/01 Java - 생성자 (0) | 2021.08.01 |
|---|---|
| 2021/08/01 Java - 필드 (0) | 2021.08.01 |
| 2021/07/16 Java - 1차원 배열 (0) | 2021.07.16 |
| 2021/07/12 JAVA 과제 - 숫자를 입력 받아 입력 받은 숫자만큼 Random 출력 (0) | 2021.07.12 |
| 2021/07/09 JAVA - 과제 - 숫자 야구 게임 (0) | 2021.07.09 |