본문 바로가기
이론/JAVA

[JAVA 이론] 변수 / static/ 메서드

by B1RAC12 2022. 2. 5.

1. class는 설계도 : 클래스 기반으로 생성은 객체

           1. 붕어빵 틀 : 붕어빵

           1. but 붕어빵마다 들어가는 내용물은 다를 수 있다

2. 메소드 개발 권장

           1. 명명규칙(이름) : 소문자로 시작 , 여러 단어로 조합할 때는 첫 글자들 대문자

           getName()

           2. 메소드를 호출하는 사용자 관점에서 이름 선정 권장

           3. 기능으로 본 메소드 이름 예시

                     - 사용자(호출자) 관점

                                1. 이름 정보 줘

                                           - 새로운 제공 없이 존재하는 데이터 값만 요청

                                            - argument 불필요 / return 필요

                                           - String getName(){

                                                     ...

                                                     return "이름값";

                                                     }

                                2. 개명했으니 수정해

                                           - 새로운 데이터 줄테니까 이걸로 변경

                                           - argument 필수

                                           - void setName(String newName){

                                                     이름값 수정

                                             }

3. 변수 구분

           1. 타입에 따른 구분

                     기본타입

                                int i;

                                double d;

                     참조타입 - 객체 관리하는 참조 변수, 객체 타입

                                - class가 존재하는 범위에 한해서만 타입으로 사용 가능

                                String s; API String.java 제공

                                L02Method newvariable; L02Method.java를 사용자 정의로 구성

                                2022.02.05 - [코드/JAVA] - [JAVA] 생성자 / MAIN / NEW

           2. 선언 위치에 따른 구분

                     1. 멤버 변수

                                - class {} 하위에 선언되는 모든 변수

                                - 객체 생성 시에 객체 내부에 구성 요소로 생성되는 변수들

                                - 객체 생성시에 생성 및 객체가 메모리에서 소멸될 때 자동 삭제

                                -People 의 name, age

                                - 종류

                                           1. instance 변수

                                                     - 객체 생성 필수

                                                     - 참조변수명.변수

                                           2. static 변수

                                                     - 객체 새성 옵션

                                                     - 만일 개체들 생성 시에는 생성되는 모든 객체가 공유

                                                     - class명.변수 / 변수 / 참조변수명.변수

                     2. 로컬 변수(temporary, autoatic, stack)

                                - 생성자와 메소드 () 죽, argument 또는 {} 내부에 선언되는 변수들

                                - 생성자나 메소드 호출시만 메모리에 생성되었다가 생성자와 메소드 실행 종료시 자동 소멸

                               

4. 정리

           1. 클래스 내부에 구성 요소

                     멤버 변수 / 생성자 / 메소드

                    

           2. 일반 변수와 일반 메소드 호출 시점과 방식

                     생성자 - 객체 생성 시점에 호출

                     멤버 변수와 메소드 - 생성자로 생성한 객체가 생성된 직후에 참조 변수로 호출

                               

5. 필수 암기

           1. 일반 변수와 메소드 호출 방식

                    

           2. static 키워드로 선언된 변수와 메소드 호출 방식

                      - 객체 생성과 무관하게 호출 가능

                               

6. 객체의 필요성

           - Person, people, student, Customer 등등 데이터가 중요한 표현은 클래스 개발 후에 해당 객체 생성이

             해당 고객, 학생, 사람등에 대한 정보를 표현하는 명확한 방식

                     :객체 생성 필수

                     : 학사 관리 프로그램

                                - 학생 100 : Student.java = 학생객체 100 : Student 클래스 하나

           - 단순하게 메소드만 호출하기 위한 객체 생성은 의미 없음

                    

7. 용어

           객체(instance) - 실제 사용 가능하게 메모리에 생성된 객체