일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 자바공부
- 자바문제
- 서블릿 동작방식
- 서블릿 예제
- 입출력
- OOP
- 자바I/O
- SQL
- 예제
- 테이블 설계
- 객체
- 자바 암호화
- java
- 자바
- DA#
- 스택
- 숫자야구
- 서블릿 파라미터
- 설치방법
- 스트림
- 서블릿 값 가져오기
- File
- 컨텍스트 초기화 객체
- 자바설치
- 서블릿
- 자바객체
- 조건문
- Servlet
- 자바기초
- 오라클
- Today
- Total
다양한 관심 :)
JAVA - 객체와 클래스 본문
-객체는 설계도(class)를 바탕으로 만들어지며, class는 객체를 만들기 위한 일종의 틀이다.
- 필드와 메소드가 정의, class로부터 만들어진 객체를 해당 클래스의 인스턴스(instance)라고 한다.
- 객체 생성순서 : 개발자가 설계 -> 클래스생성, 인스턴스화의 과정(객체를 만드는과정) -> 인스턴스(객체)
=> 객체 프로그래밍 개발단계
1. 클래스 선언한다
2. 설계된 클래스로 객체를 생성한다.
3. 생성된 객체를 사용한다.
1. 클래스 선언
//클래스 -설계도 만듦
class Student{ //클래스의 타입을 가진 변수를 만들어 사용
int kor;
int eng;
int math;
int sum;
double avg;
String name;
}
- class 클래스명 { } 또는 public class 클래스명 { } 을 사용하여 선언한다.
- 두개이상의 클래스를 선언 가능하며, 파일이름과 동일한 이름의 클래스만 public(접근제한자)을 사용한다.
=> 클래스명.java로 소스파일 -> 컴파일 후 클래스명.class
클래스의 구성
- 필드 : 객체의 데이터가 저장되는곳
- 생성자 : 객체 생성시 초기화 역할(=인스턴스 변수를 초기화 함)
- 메서드 : 객체의 동작에 해당, 실행블록
클래스에서 변수를 초기화 하는 방법
- 명시적 초기화
- 초기화 블럭
- 생성자 실행
// 클래스 (변수 + 매서드)
// 초기화 방법
// 1. 명시적 초기화 : 변수를 선언하면서 값을 넣어주는것 (값만 넣을 수 있음)
int var = 10;
static int staticVar = 20; //
// 2. 초기화 블럭 -클래스 안에 {}
// 여러줄의 코드를 작성할 수 있음
{
var = 30; // (인스턴스 변수를 초기화 )
}
static {
staticVar = 40; // (클래스를 초기화 )
}
2. 객체생성
new 연산자를 사용한다
- new연산자 뒤에 나오는 생성자를 이용하여 메모리에 객체를 만든다.
new 클래스명 ();
-주소를 클래스 변수에 저장하여 변수를 통해 객체를 사용한다.
클래스변수 = new 클래스();
3. 생성자 실행
: 클래스와 같은 이름의 매서드로 클래스에 반드시 하나이상 존재해야 한다
-> 그래야 객체를 생성하며 직접 선언해주지 않으면 컴파일러가 기본 생성자를 만들어 준다.
- 명시적으로 선언한 경우 기본생성자를 호출해서 객체를 생성할 수 없다.
- 클래스 이름과 똑같은 생성자: 인스턴스 변수와 클래스 변수를 초기화함, 파라미터()는 필요 유무에 따라 작성
//기본생성자
클래스명 ( ) { } ;
//명시적 생성자
클래스명( 매개변수선언) { //객체의 초기화 코드 }
// new 연산자 사용 : 생성자 호출할 때 외부의 값을 생성자 블록 { } 안으로 전달
클래스명 변수 = new 클래스명 (값..);
public class VariableInit {
VariableInit() {
var = 50; }
public static void main (String[] args){
Init i = new Init();
i.a = 10;
i.b = 20;
i.c = 30;
- 생성자 안에서 초기화 해주는 이유 : 초기화에 여러줄의 코드가 필요할 때, 초기화에 파라미터가 필요할 때 사용
// 왜 파라미터를 받아야 하는가?
// => 원하고자 하는 값을 얻기위해 일일히 변수를 주기에 번거로움 => '파라미터로 값을 초기화 '
// 위에와 밑에 값이 동일하나, 훨신 더 수월하게 가능함
Init i3 = new Init(70,80,90); //객체생성(밑에 만든 생성자를 통해)
'프로그래밍 공부 > JAVA' 카테고리의 다른 글
Java- File 객체 만들기 (0) | 2020.11.02 |
---|---|
사용자 정의 데이터타입 (0) | 2020.10.12 |
JAVA - 객체지향 프로그래밍 (OOP) (0) | 2020.10.12 |
JAVA - JAVA 설치 (0) | 2020.10.10 |
JAVA - ECLIPSE (이클립스) 설치 (0) | 2020.10.10 |