2020년 9월 18일 금요일

(자바동영상)객체의 생성자(Constructor), 객체 생성과정, this 사용법(자바/JAVA/자바강의/자바동영상/JAVA교육/자바강좌) (자바동영상,JAVA교육, JAVA강의)객체의 생성자(Constructor), 객체 생성과정, this 사용법(자바/JAVA/자바강의/자바동영상/JAVA교육/자바강좌)

 ojc.asia/bbs/board.php?bo_table=LecJava&wr_id=751

(자바동영상)객체의 생성자(Constructor), 객체 생성과정, this 사용법(자바/JAVA/자바강의/자바동영상/

(자바동영상)객체의 생성자(Constructor), 객체 생성과정, this 사용법(자바/JAVA/자바강의/자바동영상/JAVA교육/자바강좌)1. 객체의 생성자(constructor)객체가 생성될 때 (new 할때)자동적으로 불림new 연산�

ojc.asia


(자바동영상)객체의 생성자(Constructor), 객체 생성과정, this 사용법(자바/JAVA/자바강의/자바동영상/JAVA교육/자바강좌) (자바동영상,JAVA교육, JAVA강의)객체의 생성자(Constructor), 객체 생성과정, this 사용법(자바/JAVA/자바강의/자바동영상/JAVA교육/자바강좌) 

https://youtu.be/XGQZiFiyj90



(자바동영상)객체의 생성자(Constructor), 객체 생성과정, this 사용법(자바/JAVA/자바강의/자바동영상/JAVA교육/자바강좌) (자바동영상,JAVA교육, JAVA강의)객체의 생성자(Constructor), 객체 생성과정, this 사용법(자바/JAVA/자바강의/자바동영상/JAVA교육/자바강좌) 


1. 객체의 생성자(constructor)


객체가 생성될 때 (new 할때)자동적으로 불림

new 연산자가 호출되면 생성될 객체의 메모리가 할당되고 생성자가 호출되고 객체가 초기화(인스턴스 변수들의 초기화) 된다.

클래스 이름과 같은 이름을 갖고 메소드와 유사하지만 반환형(리턴타입)이 없다.

메쏘드와 같이 직접 호출할 수 없으며, new 연산자에 의해 간접적으로 호출


클래스에 생성자가 정의 되어 있지 않아도 된다. 생성자가 하나도 없는 경우에는 컴파일러가 몸체가 비어있는 매개변수 없는 생성자를 정의해 준다.

Class Circle {

Circle() { …. }

……

}

생성자는 ‘this’ 키워드를 사용하는 특별한 문법에 의해 다른 생성자(자기 자신의 다른 생성자)를 호출할 수 있다.

상속 관계에 있는 하위클래스에서 상위클래스의 생성자를 호출 할 때는 super라는 키워드를 쓰며 이러한 this(, super(등을 이용한 다른 생성자의 호출은 생성자의 첫 문장에 나타나야 한다.


class Emp extends Object{

   String ename;


   public Emp() {

      this("홍길동");

   }


   public Emp(String ename) {

      this.ename = ename;

   }

}


2. this

앞으로 생겨나게될 자기 자신객체에 대한 참조

인스턴스 메쏘드 내에서만 사용 가능용도

은닉된 이름을 사용

    double r;

public void setRadius( double r ) {

    this.r = r; /*인스턴스 변수와 같은 이름의 지역변수가 선언, 사용 되었으므로 메소드 안에서 인스턴스 변수를 가리킬때는 this를 사용해야 한다.*/

}

자신의 객체 참조값을 다른 객체의 메쏘드에 전달

obj.someOtherMethod( this );

자신의 객체 참조값을 반환

return this;


3. 생성자(constructor) 실습

class Emp {

   String ename;

   public Emp() {   

      this("홍길동");   

   }

   public Emp(String ename) {      

      this.ename = ename;   

   }


   public String toString() {      return "[EMP : ename = " + this.ename + "]";   }

}

public class EmpTest  {

   public static void main(String[] args) {

      Emp e = new Emp(); System.out.println(e);

      Emp e1 = new Emp("김길동"); System.out.println(e1);

   }

}


[실행결과]

[EMP : ename = 홍길동]

[EMP : ename = 김길동]



4. 객체의 생성과정

New 수식에 의해 객체의 메모리가 할당 되고 객체내의 모든 인스턴스 변수는 default 초기치(0, ‘\u0000’,false, null)로 초기화 된다

생성자가 호출되어 다음 순서대로 실행된다.

생성자 몸체의 처음 문장이 this(…)일 경우엔 해당 생성자를 호출하고 아닐 경우 상위 클래스의 생성자를 호출 후 인스턴스 변수의 초기화 수식(변수명 = 수식;)과 초기화 블록이 실행된다.

생성자의 나머지 몸체가 실행된다.


5. 객체의 생성과정 실습

class Test {

   Test(String s) {      System.out.println("Test s : " + s);   }

}

public class ObjectConstructorTest {

   private Test t1 = new Test("1");   private Test t2 ;   private int[] intArray = new int[] {1,2,3,4,5};   private int sum = 0;

  

   {

      t2 = new Test("2");

      sum = Arrays.stream(intArray).sum();

      System.out.println("배열 합 : " + sum);

   }


   public ObjectConstructorTest() {

      System.out.println("ObjectConstructorTest >> 생성자 호출완료");

   }


   public static void main(String[] args) {      new ObjectConstructorTest();     }

}


[실행결과]

Test s : 1

Test s : 2

배열 합 : 15

ObjectConstructorTest >> 생성자 호출완료





#자바강의, #자바동영상, #자바교육, #자바강좌, #자바생성자, #자바객체, #자바클래스, #자바객체,  #클래스, #JAVA객체, #JAVA클래스, #자바, #JAVA, #자바변수, #클래스변수, #인스턴스변수, #자바동영상, #자바동영상강의, #자바강의, #자바강좌, #JAVA, #JAVA동영상, #JAVA강의, #JAVA강좌, #자바교육, #JAVA교육, #자바소스 




댓글 없음:

댓글 쓰기

(C#교육동영상)C# ADO.NET 실습 ODP.NET/ODAC 설치 오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원

  (C#교육동영상)C# ADO.NET 실습  ODP.NET/ODAC 설치  오라클 함수 호출 실습, C#학원, WPF학원, 닷넷학원, 자바학원 https://www.youtube.com/watch?v=qIPU85yAlzc&list=PLxU-i...