24.08.27(클래스와 객체, 참조, 메서드)

jiiiiiiiArchive.·2024년 8월 27일

🤯지식주머니🤯

목록 보기
5/98
post-thumbnail

객체와 객체지향프로그래밍(OOP : Object Oriented Programming)

객체
  • 실생활에 존재하는 모든 것
  • 사물(컴퓨터, 연필, 책 등), 인물(선생님 등), 눈에 보이지 않는 것(수업, 시험 등)
  • 상태를 표현할 수 있고 행동으로 실행할 수 있는 모든 것

클래스와 객체

  • 객체를 생성하기 위한 제작 설명서(어떤 물건을 만들기 위한 메뉴얼)
  • 클래스 기반으로 객체 생성
public class Sample {
    public static void main(String[] args) {
        Animal cat;
     //클래스명 객체명
     	cat = new Animal();
    // 객체명 = new 클래스명();    
        // new는 객체를 생성할 때 사용하는 키워드
        // 
    }
}

// Animal 클래스 선언
class Animal {
}
  • 객체 VS 인스턴스
    • 인스턴스 : 객체에서 만들어진 객체
    Animal cat = new Animal();
    • cat은 객체. cat이라는 개체는 Animal의 인스턴스
    • 인스턴스라는 말은 특정 개체(여기서는 cat)가 어떤 클래스(여기서는 Animal)의 객체인지를 관계 위주로 설명할 때 사용
    • cat은 객체, cat은 Animal의 인스턴스
  • 무수히 많은 동물 객체들을 Animal 클래스로 만들 수 있다.
Animal cat = new Animal();
Animal dog = new Animal();
Animal horse = new Animal();
...
  • 객체 변수
class Animal {
    String name; // 객체 변수=인스턴스변수=멤버변수=속성
}

public class Sample {
    public static void main(String[] args) {
        Animal cat = new Animal();
    }
}
  • 접근방법 : 도트연산자(.) 사용
    cat.name   // 객체: cat, 객체변수: name
  - 대입방법
  ```java
cat.name = "boby";

메서드

  • 클래스 내부의 함수
  • 객체의 기능을 담당하는 중괄호{} 블록
  • 특정 기능을 수행하는 코드를 따로 뺴서 중괄호 안에 작성
  • 1개의 메서드는 일반적으로 1개의 기능 수행
  • 구조
리턴자료형 메서드명(입력자료형1 매개변수1, 입력자료형2 매개변수2, ...) {
    ...    
    return 리턴값;  // 리턴자료형이 void 인 경우에는 return 문이 필요없다.
}
  • 접근방법 : 도트연산자(.) 사용
  • return
    • 특별한 경우 메서드를 빠져나가고 싶을 때

public class Sample {
    void sayNick(String nick) {
        if ("바보".equals(nick)) {
            return;
        }
        System.out.println("나의 별명은 "+nick+" 입니다.");
    }

    public static void main(String[] args) {
        Sample sample = new Sample();
        sample.sayNick("야호");
        sample.sayNick("바보");  // 출력되지 않는다.
    }
}
profile
이것저것 다 적는 기록장📚

0개의 댓글