코딩 연습장/JAVA

자바로 코딩해보기(기초 10) - 문제 : 클래스

Do아 2021. 3. 16. 09:11
728x90

기록 #12

2020.06.09(화)

자바에서 클래스

※ 자바에서 재귀함수 참고 ※

https://blog.naver.com/ehdk1409/221994172492

자바로 코딩해보기(기초 9) - 문제: 재귀함수

기록 #112020.06.08(월)자바에서 재귀함수​​​​​※자바에서 메소드 참고※https://blog.naver.com/ehdk...

blog.naver.com

클래스라는 틀을 기반으로 객체가 생성됩니다.

객체를 생성하기 앞서서 틀을 먼저 만들어야합니다.

틀을 만들었다고 해서 바로 객체가 생성되는 것은 아니기 때문에

객체화를 시켜줘야 합니다.

ClassFirst first = new ClassFirst();

→ 키워드 new는 객체 생성을 명령하는 명령어입니다.

→ 즉, ClassFirst 객체를 생성해라

* 객체를 생성하는 행위를 가르켜 인스턴스화라고 합니다. *

* first 와같은 변수를 가르켜서 참조변수라고 합니다. *

클래스를 생성하면 생성자라는 것이 필요합니다.

생성자를 생성하지 않으면 자동으로 디폴트 생성자가 대신 삽입됩니다.

생성자는 딱 한번만 호출되는 메소드 입니다.

생성자의 조건

- 클래스의 이름과 동일한 이름의 메소드

- 반환형이 선언되어 있지 않으면서, 반환하지 않는 메소드

★ 클래스 문제 ★

참고 : 책<난 정말 자바를 공부한적이 없다구요>

*책과 코딩이 다를 수 있음*

문제1

밑변과 높이 정보를 저장할 수 있는 triangle 클래스는 정의하자. 그리고 생성과 동시에 초기화가 가능한 생성자도 정의하자 끝으로 밑변과 높이 정보를 변경시킬 수 있는 메소드와 삼각형의 넓이를 계산해서 반환하는 메소드도 함께 정의하자.

* 해설 *

문제1

package practice_10;

​

class Triangle
{

double base;

double height;

public Triangle(double bs, double hg) {

base = bs;

height = hg;


}


public void changeBase(double bs) {

​

base=bs;

}

​

public void changeHeight(double hg) {

​

height =hg;

}

​

public double area() {

​

return base*height/2;

​

}

}

​

public class Practice_10 {

​

public static void main(String args[]) {

​

Triangle tri=new Triangle(10, 15);

System.out.println("삼각형의 넓이 : " + tri.area());

​

tri.changeBase(12.5);

tri.changeHeight(5.2);

System.out.println("삼각형의 넓이 : " + tri.area());



}

}

삼각형 넓이 공식: 밑변*높이*1/2

triangle 클래스를 만들고 변수를 base와 height로 설정

triangle 클래스와 이름이 같은 생성자를 생성하고 base와 height에 받은 변수의 값을 넣어줌

changeBase와 changeHeight는 밑변과 높이를 받은 값으로 바꿔주는 메소드가 되고

area는 밑변과 높이 1/2를 곱해 넓이를 구하는 메소드

main에서 triangle을 인스턴스화하고 밑변은 10 높이는 15로 설정했을때 넓이는 75

밑변을 12.5로 높이는 5.2로 변경했을때 넓이는 32.5

다음시간에는 배열에 관련되어 코딩해 보겠습니다.

728x90