클래스와 객체
&개발의 순서와 과정:
*요구사항 파악* -> 분석 (클래스다이어그램) -> ***설계(클래스다이어그램) ***: 재사용성 -> 구현 -> 테스트 -> 배포
@절차지향과 객체지향 이해하기@
1.절차지향: (procedural programming) : 순서에 맞춰 단계적으로 실행하도록 명령어를 나열
= 기능 중심 프로그래밍
2.객체지향: (object-Oriented programming) : 클래스를 붕어빵 틀, 붕어빵을 객체에 비유하면 이해하기가 쉽다.
실체화 된 객체를 인스턴스라고 부른다(붕어빵). 우리가 붕어빵 틀을 먹을 수 없듯이 클래스는 직접 사용이 불가능하다.
대신 클래스를 통해서 객체를 만들어 실체화한 후에 객체 속의 필드와 메소드를 사용가능하다.
객체는 new 키워드를 사용해 우선 객체를 main에 생성한 뒤에 사용가능함에 유의하자. (String클래스 제외)
= 객체 중심 프로그래밍
* 슈퍼 클래스- 서브클래스 => 부모 자식 관계 = = "Is a"관계
* 객체 단위로 상호 연동 => "has a "관계
*인터페이스 - 클래스 -> 구현관계
*전역변수: 소속이 없는 변수; 자바에는 전역변수의 개념이 없다. 지역변수만 있다. 전역변수를 최소화 해야 다른 라이브러리를 가져가 썼을 때 충돌 가능성이 없다. < ---> 지역변수는 반드시 초기화가 필수
*구조체 : 배열과 다르게 다른 자료형도 섞어서 묶은 자료형. ex) 학생 (성적,반,이름,성별 등)
객체에 접근하고 사용하는 방법!!!
package repeat;
public class A {
// 속성: 멤버필드
// 인스턴스 변수 : new란 연산자로 현재 클래스를 객체로 생성한 후 접근
// main메서드나 다른 메서드에서 A ref = new A() 객체 생성을 먼저 이렇게
//하고 생성된 주소를 ref란 변수에 저장한 후, "."란 연산자를 사용해서
//참조해서 사용한다.
// ref.num1
int num1=100; //멤버필드라 0 기본값을 갖음
// static 변수 : 생성없이 사용이 가능하다. A.num2 : A클래스의 변수 num2
static int num2;
public static void main(String[] args) {
System.out.println("static 값: "+num2);
//System.out.println("static 값: "+A.num1);
//참조자료형 변수 = new 참조자료클래스();
A ref = new A();
System.out.println("인스턴스 변수값:"+ref.num1);
ref.num1 = 1000;
System.out.println("인스턴스 변수값:"+ref.num1);
}
}