유디의 공간정보·개발일기
4. 0708_생성자함수, if문 (리뷰) 본문
- 함수 생성 -> main { } 밖에 적고
함수 실행 -> mian { } 안에 적기 (main 안에서 함수를 호출하는 것)
- 계산기 기능을 하는 Calc 클래스 만들기
[Calculator class]
package com.lx;
public class Calculator {
// 이름 변수
String name;
// 더하기 함수
public int add(int a, int b) {
return a + b;
}
// 빼기 함수
public int subtract(int a, int b) {
return a - b;
}
}
[Person class] - calculator class를 import
package com.lx.person;
import com.lx.Calculator;
public class Person {
public String name;
public String getName;
// 생성자 함수
public Person() {
}
// 매개변수가 있는 생성자 함수
public Person(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
// calculator를 import하고 calc class에는 public을 붙여 호출가능하도록 함
public int work() {
Calculator calc1 = new Calculator(); //변수(calc1)를 만들어서 new Calc 할당
int result = calc1.add(10, 10);
return result;
}
}
[Test1]
package com.lx;
import com.lx.person.Baby;
import com.lx.person.Person;
public class Test1 {
public static void main(String[] args) {
String name = "홍길동";
System.out.println("사람 이름 : " + name);
int result = add(10, 10);
System.out.println("더하기 결과 : " + result);
//Person호출(사람객체 만들기)
Person person1 = new Person();
//person1에 있는 변수 work실행하기, 떨어지는 값은 왼쪽에 변수 만들어서 넣기
int result2 = person1.work();
System.out.println("일한 결과 : " + result2);
//객체 생성하면서 생성자 함수 실행하기
Person person2 = new Person("홍길동2");
System.out.println("두번째 사람 이름 : " + person2.name); //변수 name을 가져와 실행한 것
System.out.println("두번째 사람 이름 : " + person2.getName()); //함수 getName을 가져와 실행한 것
Baby baby1 = new Baby();
baby1.name = "김아기";
String babyName = baby1.getName();
System.out.println("아기이름 : " + babyName);
if (baby1.name == null) {
System.out.println("아기이름이 없습니다.");
} else {
System.out.println("아기이름이 있습니다.");
}
}
static int add(int a, int b) { //static : 정적 메소드, 메모리 저장 영역과 관련
return a + b;
}
}
--> 위 코드 중 baby1.name값을 지정하지 않으면, if문 baby 결과 : 아기 이름이 없기 때문에 null로 뜬다.
- if ( ) : 소괄호 안에 조건
( ) 라면 { } 안의 내용을 실행
- 변수가 하나 있다면 무엇과 같은지 ==를 붙여서 나타냄
c.f. == 는 비교하는 두 대상이 실제 메모리 내에서 같은 위치인지를 확인하는 것이고
.equals() 는 실제 텍스트가 동일한지를 확인하는 것
[Baby class]
package com.lx.person;
// Person과 같으므로 상속
public class Baby extends Person {
// 함수 추가하고 매개변수로 speed 숫자
public void walk(int speed) {
System.out.println("아기가 걸어간다 : " + speed + "km/h");
}
// 문자 결과를 낼거니까 크기는 string
// 부모가 갖고있는 함수와 다르게 만들면 에러가 난다.
public String getName() {
System.out.println("getName 함수 호출됨");
return super.name; // super는 부모
}
}
'JAVA' 카테고리의 다른 글
6. 0712_ try-catch절, Getter and Setter (0) | 2021.10.24 |
---|---|
5. 0709_ 널체크(Null Check), ArrayList (0) | 2021.10.23 |
3. 0707_review (0) | 2021.10.20 |
2. 0706_생성자(Constructor), Getter and Setter, 상속 (0) | 2021.10.20 |
1. 0705_Java 개요, 문법 (0) | 2021.10.20 |