본문 바로가기

프로그래밍 언어/JAVA

[JAVA] 05 - 자바 기초 개발 과정

코드 설계 과정

 

1) 주제 선정

   - 사람에 대한 이름/나이 정보를 필요시에 콘솔에 출력


2) 설계 방법 확정
   - Java로 개발 -> people.java
   - 데이터 : 이름(문자열) / 나이(정수)

     -> 변수 : String name / int age 변수명

 

3) 데이터 구성

   - 내 친구 두 명의 정보를 활용
   - 클래스(People.java) 개발

 

* 고민되는 점
하나의 클래스 개발 후에 두 개의 객체를 만들까?
친구 수 만큼 개별 자바 클래스 개발할까?

 

* class?
class (설계도) : 객체 (class 기반으로 생성)
붕어빵틀     : 붕어빵
건축설계도     : 건축물

 

 

설계한 코드

1. 한개의 클래스로 개발

public class People {
	//변수 - 실제 사용 가능하게 메모리에 생성되는 시점? 객체 생성
	String name;
	int age;
	
	//생성자
	People(){}
	
	//메소드 - 사용하는 관점에서 개발
	String getName() {
		return name;	
	}
	void setName(String newName) {
		name = newName;
	}
	
	int getAge() {
		return age;		//호출
	}
	void setAge(int newAge) {	//선언
		age = newAge;	//맴버호출 = 로컬변수호출
	}
	

	public static void main(String[] args) {
		//객체 생성 - name.age 메모리 생성하면서 People 영역으로 관리
		//단 주소값으로 데이터 활용, 실 주소값이 아닌 p1 변수명으로 코드상에선 사용
		
		People p1 = new People(); // 선언
		System.out.println(p1.name);
		
		//변수 호출로 값 대입 및 확인
		p1.name = "유재석";
		System.out.println(p1.name);
		
		//메소드 호출로 값 수정 및 확인
		p1.setName("백종원");
		System.out.println(p1.getName());
		
	}

}

 

2. 두개의 클래스로 개발

public class Person {
	String name;
	int age;
	
	public Person() {}

	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}

 

public class PersonTest {

	public static void main(String[] args) {
		//김민기, 김민준 두분의 정보로 Person
		Person p1 = new Person();
		p1.setName("민기");
		
		Person p2 = new Person();
		p2.setName("민준");
		
		System.out.println(p1.getName());
		
	}

}