클래스란 객체를 생성하기 위해 코드로 구현한 것이다.
말하자면 객체를 생성하기 위한 설계도라고 볼 수 있다.
클래스명은 통상적으로 대문자로 시작된다.
IDE내에서 class 예약어를 통해 클래스를 생성하며 객체의 속성과 기능을 코드로 그 내에 구현한다.
클래스를 통해 메모리 공간에 생성된 객체가 인스턴스이다.
필드(멤버변수)
클래스에 포함된 변수로, 선언된 위치에 따라 구분된다.
- 클래스 변수(static variable 전역변수): 해당 클래스의 모든 인스턴스가 공유해야하는 값을 유지하기 위해 사용.
- 인스턴스 변수(객체변수): 인스턴스마다 가져야하는 고유한 값을 유지하기 위해 사용
힙영역에 저장되며, 인스턴스의 생성과 동시에 종료된다.
- 지역 변수: 메소드 안, 생성자 안, 초기화 블럭 내부에 위치한 변수.
스택영역에 저장되며 변수 생성시 생성되고 종료된다.
생성자
객체의 생성과 동시에 인스턴스 변수를 원하는 값으로 초기화 할 수 있는 메소드이다.
생성자의 이름은 반드시 해당 클래스의 이름과 동일해야한다.
생성자는 리턴값은 없으나 void로 선언하지는 않는다.
캡쳐된 이미지는 Account 클래스이다. 필드로 accNo, name, balance가 선언된 것을 볼 수 있다.
그 아래 라인 8~12까지는 생성자 영역이다. 특별히 초기화해줄 원하는 값은 없어서 this.accNo = accNo; 와 같은 형태로 작성해주었다.
메소드
특정 작업을 수행하기 위한 명령문의 집합
[접근제어자][리턴타입][메소드명](매개변수){처리문;}의 형태로 작성된다.
- 접근제어자: 해당 메소드에 접근할 수 있는 범위를 명시
private < default < protected < public
- 리턴타입: 메소드가 모든 작업을 마치고 리턴하는 값을 데이터 타입으로 명시
int, String, void 등
- 메소드명: 메소드를 호출하기 위한 이름을 명시
- 명령문: 기능
- 메소드 호출: 참조연산자.을 통해 호출
은행앱을 연습과제로 코딩할 때 쓴 계좌생성 메소드이다.
접근제어자는 public,
리턴타입은 void,
메소드명 issueAcc, 매개변수는 정수이다.
해당 메소드는 BankAppManager 클래스에 작성되었다.
호출은 다른 클래스에서 하였으므로 우선 bam이라는 이름의 BankAppManager 인스턴스를 생성해주었다.
이후 bam.issueAcc(accnt)로 메소드를 호출해 사용했다.
'Programming Language > Java' 카테고리의 다른 글
[Java] BufferedReader, BufferedWriter 써보기 (0) | 2022.12.06 |
---|---|
[Java] 이클립스, mySQL, 웹페이지 연결하기 1)mySQL 환경세팅 (0) | 2022.11.25 |
[Java] 연습과제 - 음악플레이리스트 구성하기 (0) | 2022.10.12 |
[Java] 연습과제 - 은행계좌프로그램 구성하기 (0) | 2022.10.05 |
[Java] Stream 간단 활용 (0) | 2022.10.04 |