티스토리 뷰
클래스
클래스란 객체를 정의해놓은 것, 또는 객체의 설계도를 말한다.
클래스를 찾아보자.
클래스로 만들어진 변수는 인스턴스라고 불린다.
변수랑 다른건가?
→ 똑같다.
변수라고 한다면 기본형 타입으로 정의된 것, 인스턴스라고 한다면 클래스 타입으로 정의된 것.
-
하나의 파일에는 하나의 클래스만 들어간다.
-
/** 주석을 사용하면 클래스명에 마우스를 올려놨을 때 설명을 함께 볼 수 있다.
변수의 종류
1. 인스턴스 변수
클래스 영역에 선언되며, 클래스의 인스턴스를 생성할 때 만들어진다.
그렇기 때문에 인스턴스 변수의 값을 읽어오거나 저장하기 위해서는 먼저 인스턴스를 생성해야한다.
인스턴트 필드들은 초기화를 시킬 필요가 없다.
2. 클래스 변수
인스턴스 변수 앞에 static을 붙인 것. 클래스 변수는 모든 인스턴스가 공통된 저장공간을 공유하게 된다. 한 클래스의 모든 인스턴스들이 공통적인 값을 유지해야하는 속성의 경우 클래스 변수로 선언해야한다.
클래스 변수는 인스턴스를 생성하지 않고도 언제라도 바로 사용할 수 있다는 특징이 있으며 '클래스이름.클래스변수'와 같은 형식으로 사용한다.
상수를 만들때 static이라는 키워드가 반드시 들어간다!
외부에서 클래스 필드의 값을 변경하면, 클래스 자체가 가지고 있는 값도 바뀐다.
3. 지역변수
메서드 내에 선언되어 메서드 내에서만 사용 가능하며, 메서드가 종료되면 소멸되어 사용할 수 없게 된다. for문 또는 while문의 블럭 내에서 선언된 지역변수는 지역변수가 선언된 { } 안에서만 사용할 수 있고, { } 블럭을 벗어나면 소멸되어 사용할 수 없게 된다.
Pet.java
PetStore.java
메소드란?
매개변수(파라메터)란?
메서드를 호출할 때 매개변수로 지정한 값을 메서드의 매게변수에 복사해서 넘겨준다.
매개변수의 타입이 기본형일때는 기본형 값이 복사되고, 참조형일때는 인스턴스의 주소가 복사된다.
즉, 기본형 매개변수는 변수의 값을 읽기만 할 수 있지만, 참조형 매개변수는 변수의 값을 읽고 변경할 수 있다.
Pet.java
PetStore.java
클래스 메소드 vs. 인스턴스 메소드
인스턴스 메서드는 인스턴스변수와 관련된 작업을 하는, 즉 메서드의 작업을 수행하는데 인스턴스 변수를 필요로하는 메서드.
클래스 메서드는 인스턴스와 관계없는 메서드를 클래스 메서드로 정의한다.
클래스를 설계할 때, 멤버 변수 중 모든 인스턴스에 공통적으로 사용해야하는 것에 static을 붙인다. (ex. 메인)
제어자(modifier)
제어자란?
클래스, 변수 또는 메서드의 선언부와 함께 사용되어 부가적인 의미를 부여한다.
제어자의 종류는 크게 접근 제어자와 그 외의 제어자로 나뉜다.
접근 제어자 - public, protected, default, private
그 외 - static, final, abstract, native, transient, synchronized, volatile, strictfp
<그 외>
static - 클래스의, 공통적인
final - 마지막의, 변경될 수 없는
public static final int TEAM_COUNT(변수명) = 5(값); |
접근 제어자를 사용하는 이유?
외부로부터 데이터를 보호하기 위해서
외부에는 불필요한, 내부적으로만 사용되는 부분을 감추기 위해서
private - 같은 클래스 내에서만 접근이 가능함.
그렇다면, 어떻게 데이터를 넘기는 것일까?
→ 데이터를 넣어주고, 가지고 올 수 있는 무언가가 필요하다.
→ 그게 바로 setter와 getter ! 이것을 반드시 만들어주어야 한다
default - 같은 패키지 내에서만 접근이 가능함.
protected - 같은 패키지 내에서, 그리고 다른 패키지의 자손 클래스에서 접근이 가능함.
public - 접근 제한이 전혀 없음.
'프로그래밍 > Java' 카테고리의 다른 글
클래스와 메소드 (0) | 2016.01.22 |
---|---|
[실습문제] 사칙연산 계산기 프로그램 (0) | 2016.01.21 |
[실습문제] 숫자 두개 입력받아 연산하기 (0) | 2016.01.20 |
점수 입력받아 오름차순, 내림차순 정렬하기 (1) | 2016.01.20 |
[실습문제] 배열로 점수 받아서 평균내기 (0) | 2016.01.20 |
- Total
- Today
- Yesterday
- 배열
- spring
- sql
- Erwin
- Linear Layout
- mongo db
- 뒤로가기 버튼
- 메뉴바에 버튼 생성하기
- 제이쿼리
- jQuery
- 글쓰기 버튼
- query
- JSP
- er다이어그램
- Relative Layout
- mybatis
- 메소드
- 게시판 만들기
- 뉴스피드 가져오기
- 포스팅하기
- aop
- activity
- ERD
- facebook 연동
- 자바프로그래밍
- 클래스
- 예외처리
- 쿼리
- intent
- MVC
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |