어제까지 했던건 자바 절차적 (순서있고 논리적)
c언어는 절차적이지않음 (클래스 존재X)
c++ 이 (객체지향) (c언어에서 업글)
추상적이다 (레벨) 이있음
뒤로갈수록 추상레벨이 낮음
ex 동물 - 샴 고양이 - 바둑이 (고양이이름)
동물 - 사람 - 남자,여자 - 주예연
변수명은 구체적으로 지어야함
객체(object)란 추상화레벨이 매우매우 높은것임
객체 = 명사
객체는 속성이 있는 모든 명사는 객체가 될 수 있다 (프로그래밍 관점에서)
ex) 사람은 나이,성별,키,이름 등 속성이 있다.
(일상생활 관점에서) 와 조금 다름.
클래스는 코드를 분리하는것.
클래스는 논리하고 상관이없다.
----------------------------------------------------------------------------------------------------------------------------------------------------------------
클래스 공부 목표!!
수동적목표
- API를 이해하기위해
능동적목표(응용 및 활용) - 평생 쌓아 올려야 할 목표
설계
----------------------------------------------------------------------------------------------------------------------------------------------------------------
1. 클래스 만들면
2. 인스턴스도 만들어야한다.
3. 접근해서 활용하기 ( . (접근연산자) )활용해서 값넣기

속성, 필드, 멤버 변수, 인스턴스변수는 다 같은표현이고 하늘색이다.

정확하게는 StudentInfo s1 = new StudentInfo(); 뒤에 밑줄 그은곳부터가 인스턴스 생성 문법임
앞에 StudentInfo s1이 없으면 쓰레기가 되어서 자동삭제 시키므로 꼭 붙여줘야 함 - 16번줄 참고



-----------------------------------------------------------------------------------------------------------------------------------------------

이렇게 넣게되면
아래 기존 heap 메모리 소멸하고 스택에 넣어진 주소값은 바

-------------------------------------------------------------------------------------------------------------------------------------------------------
새로운 예제



------------------------------------------------------------------------------------------------------------------------------------------------------------

이렇게 쓰게되면 인스턴스 new Student(); 하게되면 연쇄적으로 가능해서 새로 메인 메소드에서 new Score 안써도 가능
이렇게 하게되면 결합도가 높은케이스다... (대부분 이렇게는 안함.. 걍 문법적으로는 가능하다? 알고있기)
근데 이렇게 하면 s1 이 소멸되면 heap 연결된 메모리가 다 소멸되기때문에 클래스 Score 관련 메모리도 연쇄적으로 소멸됨.


'바닥부터 시작하는 프로그래밍 > 국비JAVA' 카테고리의 다른 글
| 13일차(메소드) (0) | 2024.03.21 |
|---|---|
| 12일차_2(생성자) (0) | 2024.03.20 |
| 11일차(학생 관리 프로그램 만들기- 정보입력,목록 출력, 검색, 삭제, 통계, 종료) (0) | 2024.03.19 |
| 10일차(참조 타입, 참조 변수, 배열, 향상된 for문(for each문)) (0) | 2024.03.18 |
| 8일차_2 / 9일차 코테관련 문제풀이 (0) | 2024.03.14 |