절차 지향 프로그래밍 
- 순차적으로 처리하는 방식, 즉 어떻게 중심으로 프로그래밍을 한다 
- 유지관점 포인트가 늘어날 수 있다

객체 지향 프로그래밍 
- 사물/사건을 객체로 보고, 상호작용을 중심으로 프로그래밍, 즉 무엇을 중심으로 프로그래밍을 한다 
- 자바는 클래스에 내부에 속성과(데이터) 기능을(메소드) 포함할 수 있다, 데이터와 기능을 하나의 클래스로 묶어서 개발

 

기타 : ctrl + alt + v => intellij 자동 변수 네이밍


멤버 변수 : 클래스에 사용되는 변수
지역 변수 : 메소드에 사용되는 변수 
메개 변수 : 파라미터로 넘어온 변수 



백문이 불여일타

1. 클래스가 왜 필요한지 ?
- 학생 정보를 관리한다고 했을때 새로운 학생이 추가할때는 배열을 사용해서 새로운 변수 선언 수고스러움과 지져분함을 최소화할 수 있다.
- 다만 이렇게 배열로 관리를하면 배열이 나눠져 있고 데이터가 다양화될시 변경할 때 조심스럽게 작업해야한다. (ex. 인덱스 정확하게 맞추기)
- 인덱스 기준으로 관리를해야하고 휴먼 에러가 날 가능성이 매우 높다. (컴퓨터가 봤을때는 문제 없지만 사람이 관리하기에는 좋은 코드가 아니다.)
- 위와 같은 부분을 해결하기 위해서 클래스를 사용한다. 

2. 클래스 
- 클래스에 정의한 변수 -> 멤버 변수 or 필드 
멤버 변수 : 특정 클래스에 소속된 멤버이기 때문에 이렇게 부른다 
필드 : 데이터 항목을 가르키는 전통적인 용어. 
- 자바에서는 멤버 변수 == 필드 
- 타입은 데이터의 종류/형태를 뜻하고, student이라는 타입을 만들기위해서 필요한건 설계도, 설계도가 클래스다. 
- 클래스는 설계도, 설계도 기반으로 실제 메모리에 만들어진 실체는 객체/인스터스라고 한다

Student student1 = new Student(); // 1. 객체 생성
Student student1 = x001; // 2. new Student()의 결과로 x001 참조값 반환
student1 = x001; // 3. 최종 결과 


기타  

- 클레스는 설계도 
- 객체는 클래스의 실체 
- 인스턴스는 특정 클래스로부터 생성된 객체 = 모든 인스턴스는 객체이지만 우리가 인스턴스라고 부르는 순간은 특정 클래스로부터 그 객체가 생성되었음을 강조하고 싶을때이다. 
ex. student1 객체는 Student 클래스의 인스턴스 

 

자바에서 대입은 항상 변수에 들어 있는 값을 복사한다. 

+ Recent posts