1. 클래스
절차지향 프로그래밍 : 순차적으로 처리하는 프로그래밍 기법, 순서가 엄격하게 정해져 있음
객체지향 프로그래밍 : 다수의 객체를 만들고 서로 상호작용을 통해 원하는 결과를 도출하는 프로그래밍 기법
** 자바는 객체지향언어임
1-1. 객체
실세계에 존재하거나 생각할 수 있는 것.
프로그래머 관점에서의 객체 : 데이터와 기능을 변수와 메소드로 구현한 것
1-2. 클래스
데이터(변수)와 기능(메소드)을 공유하는 유사한 성질의 객체들을 그룹화한 것. (설계도)
사용자 정의 자료형임.
클래스를 구성하는 요소 - 멤버변수(필드), 메소드의 선언, 생성자
+) 변수의 종류
멤버변수 : 클래스 안에서 선언된 변수
지역변수 : 메소드 안에서 선언된 변수, 초기화 필수
매개변수
public class Car {
//멤버변수, 필드
//제조사, 가격
String brand;
int price;
//메소드
//시동 거는 기능, 움직이는 기능
public void powerOn() {
System.out.println("시동을 켭니다.");
}
public void moveCar() {
System.out.println("차가 움직입니다.");
}
//매개변수로 받은 값을 brand에 저장하는 메소드
public void setBrand(String brand1) {
name = name1;
}
//매개변수로 받은 값을 price에 저장하는 메소드
public void setPrice(int price1) {
price = price1;
}
//자동차의 정보를 출력하는 메소드
public void printCarInfo() {
System.out.println("제조사 : " + brand);
System.out.println("가격 : " + price);
}
new 연산자 : 새로운 객체를 생성할 때 사용
public class CarTest {
public static void main(String[] args) {
//Car 클래스의 객체 선언
//문법 : class명 객체명;
Car car1;
//선언한 객체 생성
//문법 : 객체명 = new class명();
car1 = new Car();
//객체의 선언 및 생성을 동시에
Car car2 = new Car();
//---------------------------------
//객체가 가진 변수 혹은 메소드 접근
//문법 : 객체명.변수명 객체명.메소드명
//시동을 켜는 메소드
car1.powerOn();
//car1 차량의 제조사를 출력
System.out.println(car1.brand);
//car1의 금액을 1000원으로 변경하는 코드
car1.price = 1000;
//---------------------------------
//car2의 제조사, 가격 변경
car2.setBrand("현대");
car2.setPrice(3000);
//car2의 정보 출력
car2.printCarInfo
}
}
멤버변수에 직접적으로 접근하는 것은 좋지 않다.
멤버변수를 용도에 맞게 변화시키는 메소드를 생성하여 접근.
간단하게
- 클래스 : 설계도, 붕어빵틀
- 객체(인스턴스) : 부품, 붕어빵
**새롭게 알게 된 것
문자열을 정수로 변환 : Integer.parseInt(String s);
정수를 문자열로 변환 : String.valueOf(int i); +)간단한 방법 : + "" (빈 문자열 나열)
//문자열 -> 정수
int aa = Integer.parseInt("10");
//정수 -> 문자열
String bb = String.valueOf(10);
클래스, 메소드, 변수 등 이름 지을 때 많이 사용하는 단어 : set/get, even/odd, vertical/horizontal, min/max
'TIL' 카테고리의 다른 글
| 230130 [Java] (접근 제한자 / 객체 배열) (0) | 2023.01.30 |
|---|---|
| 230127 [Java] (생성자 / this / setter & getter) (0) | 2023.01.27 |
| 230125 [Java] TIL (이중반복문 / 2차원 배열 / 메소드) (0) | 2023.01.25 |
| 230120 [Java] TIL (배열) (0) | 2023.01.21 |
| 230119 [Java] TIL (switch문 / while문 / for문) (0) | 2023.01.19 |