Day 08 - 26.09.03

서코딩·2026년 9월 3일

자바

목록 보기
8/19

0. 복습

메서드

1) 메서드의 선언(정의)

리턴타입 메서드명(자료형 매개변수, ...){ <- 메서드의 선언부
	구현할 기능; <- 메서드의 구현부
    return 반환값;
}

2) 메서드의 정의와 사용(호출)

  • 메서드를 정의할 때는 main()메서드 밖에서 정의
  • 메서드를 호출할 때는 메서드명(인수, ...);

3) 메서드를 사용하는 이유

  • 높은 재사용성
  • 중복된 코드의 제거
  • 유지보수에 유리함

+) 오버로딩

  • 같은 클래스 내에서 같은 이름의 메서드를 정의할 수 있다
  • 매개변수의 타입이나 개수만 다르게 만든다

1. String 클래스

  • 문자열 : 문자를 연이어 나열한 것
    => 문자형 배열 char[] 와 같은 의미

1) 문자열(String)을 char[]배열로 사용하지 않는 이유

  • String클래스는 char[] 배열에 여러가지 기능(메서드)를 추가함
  • 따라서, char[] 배열보다 String 클래스를 통해 문자열을 다루기 더 편함

2) 주요 메서드
(1) charAt(int 인덱스) : 문자열에서 해당 위치(인덱스)에 있는 문자를 반환
(2) length() : 문자열의 길이를 반환
(3) substring(int 시작, int 종료) : 문자열에서 해당 범위(시작 ~ 종료)의 문자열을 반환(종료는 포함x, 이전까지)
(4) equals(문자열) : 문자열이 같은지 확인, 같으면 true, 다르면 false

2. 클래스

1) 사용자 정의 타입이다(커스텀 자료형)

  • 클래스를 사용하면 여러 타입, 여러 값을 저장할 수 있는 저장공간을 만들 수 있다
  • 클래스 안에 선언된 변수를 사용하고 싶다면 해당 클래스 타입으로 변수를 선언해야 한다
    ex) int num = 10;
클래스명 객체명 = new 클래스명();

2) 객체를 생성하기 위한 틀, 설계도이다

  • 저장공간과 기능을 나누어서 관리하게 되면 코드가 길어졌을 때 사용하기 불편하다
  • 이때 연관되는 저장공간과 기능을 클래스로 묶어서 관리할 수 있다

3) 연관된 저장공간과 기능을 묶어서 관리하는 것이다

  • 공통되는 속성(변수)과 행위(메서드)를 한번만 선언해 놓고 가져다 사용만 하도록 설계한다
  • 추상적인 것(클래스)을 구체화 시키면(메모리에 생성된 것) 객체라고 한다

4) 클래스 정의

class 클래스명{
	변수; // 필드
    메서드(){}
    // 클래스를 구성하는 모든 필드, 메서드 등을 묶어서 멤버라고 부른다
}

5) 객체화(인스턴스화)

  • 객체(인스턴스)를 만드는 작업
  • 클래스명 객체명 = new 클래스명();

6) 객체 사용 방법

  • .(접근 연산자, 닷 연산자)을 사용
  • 객체명.필드;
    객체명.메서드();

7) 객체와 인스턴스

  • 클래스(class) : 객체의 설계도(객체에 어떤 저장공간과 기능을 포함할지 정의)
  • 객체(Object) : 클래스로 만들어낸 모든 저장공간
  • 인스턴스(instance) : 특정 클래스의 객체를 의미
    ex) Student s1 = new Student();
    s1은 객체(O) / s1은 Student의 객체(X)
    s1은 인스턴스(X) / s1은 Student의 인스턴스(O)
  • 일반적으로 객체와 인스턴스를 크게 구분 짓지 않는다

8) 프로그래밍을 하는 이유와 클래스

  • 프로그래밍의 핵심은 현실 세계의 문제를 컴퓨터로 옮겨와 해결하는 것
    ex) 학교 도서관에서 책을 관리하고 대출/반납 처리하는 문제를 프로그램으로 해결하려 함
  • 현실 세계의 사물이나 개념을 컴퓨터로 옮기기 위해 만드는 곳이 클래스
    ex) 도서관 시스템에서 "책", "회원", "대출" 등의 개념을 각각의 클래스로 정의
  • 클래스를 만들때는 사물이나 개념의 속성과 행위를 추출하여 정의한다
    ex) 책 클래스의 경우 :
    속성 : 제목, 저자, 출판년도, 현재 대출 상태 등
    행위 : 책 정보 출력
    도서관 클래스의 경우 :
    속성 : 도서관 이름, 주소, 전화번호
    행위 : 대출하기, 반납하기, 예약하기 등
  • 공통되는 속성과 행위를 추출하는 작업을 "추상화" 라고 한다
    ex) 모든 책들의 공통 속성과 행위를 추출하여 클래스 정의
  • 속성은 필드로, 행위는 메서드로 정의한다

3. null

  • null은 참조변수에만 들어갈 수 있는 값이다
  • '없음'을 의미한다, 참조변수의 기본값이다
  • null을 저장하고 있는 변수에 .으로 접근하여 멤버를 사용하려고 하면 오류가 발생한다 !
profile
서코딩 127 !

0개의 댓글