-
3일차_클래스의구성,생성자,메소드1학년/자바 공부 2022. 7. 6. 09:52
클래스의 구성
: 생성자와 메소드와 필드를 가진다.
class Car { private String modelName; private int modelYear; private String color; private int maxSpeed; private int currentSpeed; Car(String modelName, int modelYear,Stirng color, int maxspeed){ this.modelNAme = modelName; this.modelYear = modelYear; this.color = color; this.maxSpeed = maxSpeed; this.currentSpeed = 0; } public String getMOdel() { return this.modelYear + "년식 " + this.modelName + " " + this.color; } } public class Methos02{ public static void main(String[] args) { Car mycar = new Car("아반떼",2022,"흰색",200); System.out.printlin(myCar.getModel()); } }
생성자
: 객체의 생성과 동시에 인스턴스 변수를 원하는 값으로 초기화 할 수 있는 생성자라는 메소드 있따.
자바에서 생성자의 이름 = 클래스의 이름
car 클래스의 생성자 이름은 car가 된다
- 생성자는 반환값 없지만 void형으로 선언하지는 않는다
- 초기화를 위한 데이터를 인수로 전달받을 수 있다.
- 객체를 초기화 하는 방법이 여러 개 존재할 경우 하나의 클래스가 여러 개의 생성자를 가질 수 있다.
Car(String modelName){} Car(String modelName , int modelYear){} Car(String modelName, int modelYeaer, String color, int maxSpeed){}
생성자 선언
:
1. 클래스 이름(){ ... } 2. 클래스 이름(인수1, 인수2, 인수3, ... ){...}
예제이다
Car(String modelName, int modelYear, String color, int maxSpeed){ this.modelName = modelName; this.modelYear = modelyear; this.color = color; this.maxspeed = maxSpeed; this.currentSpeed = 0; }
참고로 어떠한 반환값도 명시하지 않는다.
생성자 호출
:new 키워드를 사용하여 객체를 생성할 때 자동으로 생성자가 호출된다.
class Car { private String
기타 생성자
메소드
: 어떤 특정 작업을 수행하기 위한 명령문의 집합.
중복되는 코드의 반복적인 프로그래밍 피할 수 있다.
모듈화로 인해 전체적인 코드의 가독성이 좋아진다.
유지보수가 쉽다!
접근제어자 반환타입 메소드이름(매개변수목록) { }
- 접근 제어자 : 해당 메소드에 접근할 수 있는 범위 명시
- 반환 타입 : 메소드가 전체 작업을 마치고 반환하는 데이터의 타입
- 메소드 이름: 메소드를 호출하기 위한 이름 명시
- 매개변수 목록 : 메소드 호출 시 전달되는 인수의 값 저장
- 안쪽에 명령 구현하면 됨.
다음 예제는 car 클래스의 acceletrate()메소드를 정의하는 예제이다.
class Car{ private int currentSpeed; private int accelerationTIme; ... public void accelerate( int speed, int second){ System.out.println(second + " 초간 속도를 시속 " + speed + "(으)로 가속함"); } ... }
메소드 호출
: .닷 을 사용하여 호출할 수 있다.
1. 객체참조변수이름.메소드이름(); 2. 객체참조변수이름.메소드이름(인수1,인수2,...);
예제이다
Class Car{ private int currentSpeed; private int accelerationTime; public void accelerate( int speed, int second){ System.out.println(second + " 초간 속도를 시속 " + speed + "(으)로 가속함"); } } public class Method01{ public static void main(String[] args){ Car myCar = new Car(); //객체 생성 myCar.accelerate(60,3); } }
728x90'1학년 > 자바 공부' 카테고리의 다른 글
4일차_배열, 문자열, Int class , 아스키코드 (0) 2022.07.27 3일차_별찍기 3문제 (2) 2022.07.06 3일차_배열(1차원,다차원,가변),enhanced for문 기본 (0) 2022.07.06 3일차_메모리구조,메소드영역, 힙영역, 스택영역, 인스턴스?,객체? 간단정리 (0) 2022.07.06 2일차_조건문,반복문 (0) 2022.07.05