객체화와 추상화

양혜정·2024년 1월 20일
0

Begin_java

목록 보기
4/71

객체화

메모리(RAM) 주소

  • 패키지명.클래스명@메모리 (RAM) 상에 올라온 주소값

  • 메모리(RAM) 의 주소 알아내기
    Ex) new Member() => 메모리에 로딩 (객체화)
    => class 를 CPU(RAM) 에 저장하려면 new Member(); 방식으로 저장을 반복
    => 이 방법을 제어하기 위해 ' Member lssMbr = new Member(); ' 방법 이용
    => 이때, lssMbr 은 ' 메모리 참조변수 ' 라고 부른다.


추상화

  • 필요한 속성 및 기능만 뽑아내는 것

1. instance (인스턴스) 변수

  • ' non static 변수 ' 라고도 한다.
  • 클래스가 메모리 (RAM) 에 가서 실제 사용가능한 객체로 되어진 상태
  • 서로 다른 instance 끼리 공유 X, 각자 자기의 instance 내에서만 사용
  • 인스턴스화 (== 객체생성)
    Main_01 ma1 = new Main_01();

2. static (스태틱) 변수

  • 동일한 클래스로 생성되어진 서로 다른 instance 사이의 공유하는 변수

- static 적용한 경우

MyUtil.current_time_print();

static 적용하지 않은 경우

MyUtil util = new MyUtil();
util.current_time_print();

=> void : 인스턴스 method(메소드)

  • return 값이 없다 !
void print_info(){
	System.out.println();
    }
  • 기존에 있는 메소드 활용 방법

    void info_print(){
    	System.out.println("===" + name + "님의 회원정보" + "\n"
       				+ "1. 아이디 : " + userid + "\n"
                       + "2. 비밀번호 : " + passwd + "\n"
                       + "3. 성명 : " + name + "\n"
                       + "4. 나이 : " + age + "\n"
    }
    // day02.Member.java
    void update(String userid, String passwd,String name, int age){
    	System.out.print(">>> 변경전 정보 <<< ");
       info_print();
       
       this.userid = userid;
       this.passwd = passwd;
       this.name = name;
       this.age = age;
       
       System.out.println(">>> 변경후 정보 <<< "
       info_print();
    }
    
    // day02.Main_Member.java
    Member java_mbr = new Member("java","abcd","자바","20);
    java_mbr.info_print();
    java_mbr.update("javac","wxyz","자바씨",25);

소괄호의 의미 ( )

자바에서 소괄호 ' ( ) ' 가 나오는 것은 두가지 경우 뿐 !!

    1. 생성자(constructor)에서 사용
    1. method(메소드)에서 사용

클래스를 생성할 때 생성자를 표기한 것이 없는 경우

  • 기본생성자가 생략된 경우
    Ex) Member( ){ }
  • 파라미터(==매개변수)가 있는 생성자를 선언한 경우, 기본생성자 자동 삭제됨!!
    -> 생략되어있는 것이 아닌, 파라미터 있는 생성자 선언 시 소멸

Constructor (생성자)

- 기본생성자 ( 파라미터(==매개변수)가 없는 생성자 )

Member( ){ }

- 파라미터(==매개변수)가 있는 생성자

Member(String a, String b, String c, int d, int e){
}
  • 이미 나와있는 파라미터 있는 생성자 호출 방법
Member(String userid, String passwd, String name, String email int age, int point){
	this(userid,passwd,name,age,point);
    this.email = email;
}

정리

my.day01 -> HelloTest, Member_main, Member
my.day02 -> Main_01, Main_02, Main_03
my.util -> MyUtil
my.day02.b.constructor -> Main_Member, Member

0개의 댓글

관련 채용 정보