개발일기/Java

클래스와 객체

민장미 2023. 4. 19. 01:13

&개발의 순서와 과정:  

    *요구사항 파악* -> 분석 (클래스다이어그램)  ->    ***설계(클래스다이어그램) ***: 재사용성 -> 구현 -> 테스트 -> 배포

 

 

@절차지향과 객체지향 이해하기@

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);
		
		
		
	}
	
}