sussa
컴퓨터가 할 일은 컴퓨터가.
sussa
전체 방문자
오늘
어제

블로그 메뉴

    • 분류 전체보기 (58)
      • Language (58)
        • JAVA (58)

    공지사항

    인기 글

    태그

    • BinarySearchTree
    • Web
    • singleton
    • 캡슐화
    • Algorithm
    • Til
    • tree
    • 스파르타코딩클럽
    • 다형성
    • inheritance
    • 조건문
    • java
    • 최종연산
    • Stream
    • Thread
    • 상속
    • spring
    • 개발자
    • recursion
    • 자료구조
    • Instance
    • 웹개발종합반
    • binaryTree
    • Database
    • CSS
    • 재귀
    • HTML
    • Method
    • Class
    • DI

    최근 댓글

    최근 글

    티스토리

    hELLO · Designed By 정상우.
    sussa

    컴퓨터가 할 일은 컴퓨터가.

    Java this(생성자, 참조변수)-OOP
    Language/JAVA

    Java this(생성자, 참조변수)-OOP

    2022. 8. 20. 18:23

    🎯 목표 :  this의 쓰임과 사용 방법의 이해

    📒 생성자 this() 와 참조변수 this

     

    👉 생성자 this() 예제

    📌 자기 자신 또는 다른 생성자를 호출할떄 사용

    📌 다른 생성자를 호출할때 첫줄에서만 호출 가능

    class Animal {
        String cow;
        String birds;
        String pisces;
       Animal() { // 기본 생성자
            //기본 생성자의 디폴드 값을 지정해줌
            mam = "Cow";
            birds = "Sparrow";
            Pisces = "shark";
        } // 아래 생성자와 중복코드며 this()를 사용하여 간결하게 작성할수 있다.
       Animal(String a, String b, String c) { // 생성자 1
            cow = a;
            birds = b;
            pisces = c;
        }
    }
    
    
    public class thisStudy {
        public static void main(String[] args) {
        }
    }
    • 기본 생성자와 생성자1이 있다.
    • 기본 생성자는 매개변수 값을 지정하고 있지만 생성자1은 객체 생성시 매개변수 값을 받아서 인스턴스 변수에 입력하고 있다.
    • 두 생성자는 형태가 비슷하여 코드가 중복되므로 코드를 간결하게 개선이 필요하다.
    • 기본생성자를 개선 할때 디폴드 값을 원하는 값으로 넣기 위해서는 생성자1을 호출 하여야 된다
    class Animal {
        String cow;
        String birds;
        String pisces;
        Animal(){ // 기본생성자
            // 기본생성자의 defualt 값, 제일 첫줄에만 사용해야한다
            this("Cow","Sparrow","shark");
            // this는 아래 생성자1을 가르킴
            // 같은 클래스의 다른 생성자를 호출할 때 사용한다
        }
        Animal(String a, String b, String c) { // 생성자 1
            cow = a;
            birds = b;
            pisces = c;
        }
    }
    
    
    public class thisStudy {
        public static void main(String[] args) {
        }
    }
    • 기본생성자의 this는 생성자1을 가르키고 있으며, 같은 기능을 하고 있으므로 출력값은 동일하다.
    • this( ) 형태는 다른 생성자를 호출하는 의미로 구현된다.

    👉 참조변수 this 예제

    📌 참조변수의 역할로서 자기 자신 또는 속해있는 소속관계를 확인할수 있다.

    class Animal2 { // 참조변수 this
        String cow; // 진짜 이름 this.cow
        String birds;// this.birds
        String pisces; // this.pisces
        Animal2(String cow, String birds, String pisces){
            // this는 Animal2 클래스를 가르키고있음
            this.cow = cow;   // == Animal2 클래스의 cow와 생성자의 매개변수 cow의 값이 같도록 정의. 
            this.birds = birds;
            this.pisces = pisces;
            // 매개변수와 인스턴스 변수 이름이 다를때는 this 생략 가능
        }
    }
    public class thisVarStudy {
        public static void main(String[] args) {
        }
    }
    • 생성자 Animal2의 매개변수 이름과 인스턴스 변수의 이름이 같고, 생성자 내에서 인스턴스 변수 값을 지정할 경우 변수 별로 소속 관계를 확실히 표현하기 위해 활용한다.
    • 이때 this. 사용하여 생성자에 사용되는 변수들의 소속(Animal2클래스의 인스턴스 멤버 소속)을 확인할수 있다.
    • 즉 , this.은 참조변수로서의 기능을 하고 있다.

    'Language > JAVA' 카테고리의 다른 글

    Java Class의 Inheritance(상속) / Composite(포함) - OOP_상속  (0) 2022.08.20
    Java Initialized(초기화)  (0) 2022.08.20
    Java 생성자(Constructor)- OOP  (0) 2022.08.20
    Java 기본형 / 참조형 매개변수  (0) 2022.08.20
    Java Overloading(오버로딩) - OOP  (0) 2022.08.19
      'Language/JAVA' 카테고리의 다른 글
      • Java Class의 Inheritance(상속) / Composite(포함) - OOP_상속
      • Java Initialized(초기화)
      • Java 생성자(Constructor)- OOP
      • Java 기본형 / 참조형 매개변수
      sussa
      sussa
      Efforts to take on a challenge

      티스토리툴바