728x90
클래스
클래스와 인스턴스
객체지향 프로그래밍
클래스
클래스는 멤버 변수, 메소드로 구성된다.
원하는 속성과 기능을 넣어 클래스를 설계할 수 있다.
클래스는 코드로 만드는 설계도
설계는 문제 상황(요구 상황, Requirements)을 잘 반영해야 한다.
// 학생 클래스 예제
class Student{
int number; // 학번
int score; // 시험점수
String name; // 학생이름
void study(){
System.out.println("Studying"); // 공부하기
}
}
// SNS 게시물을 표현하는 클래스의 속성과 기능
class Post{
String author; // 작성자
String[] comments; // 댓글
int likes; // "좋아요" 수
String content; // 글 내용
void like(){
likes++; // "좋아요" 누르기 기능
}
}
클래스 명명 규칙
변수, 메소드 명명 규칙은 camelCase
클래스 명명 규칙은 PascalCase
클래스와 인스턴스
인스턴스(객체)란?
클래스가 설계도라면 인스턴스는 제품
클래스
어떤 데이터가 있는지, 어떤 기능이 있는지 명시한 설계도
인스턴스
클래스로 만든 실제 사례
// new 키워드를 이용해 인스턴스 생성
class Student{
...
}
...
Student s1 = new Student();
인스턴스의 사용
. 을 이용해 멤버 변수, 메소드 호출
Student s1 = new Student();
s1.name = "Java";
s1.score = 100;
s1.study();
참조 자료형
기본 자료형은 8가지지만
참조 자료형은 무수히 많다.
ex) 배열, 클래스, 인터페이스, 열거형
일반 자료형 | 참조 자료형 |
크기가 정해져 있다. 자바에서 정해진 키워드로 기본적으로 제공된다 |
클래스로 선언 크기가 정해져있지 않다. String, 배열도 참조 자료형 |
String의 예외적 허용
String은 예외적으로 기본 자료형처럼 사용이 가능하다.
String str = new String();
String name = "Java";
객체지향 프로그래밍
속성과 기능으로 이루어진 클래스를 설계하고 클래스의 객체(인스턴스)로 원하는 로직을 구현
객체지향 프로그래밍의 4가지 특징
추상화, 캡슐화, 상속화, 다형성
반응형
'IT' 카테고리의 다른 글
[Java 개발자가 되기 위한 첫걸음 2] 04 캡슐화와 정보 은닉 (0) | 2022.05.28 |
---|---|
[Java 개발자가 되기 위한 첫걸음 2] 03 객체를 만드는 생성자 (0) | 2022.05.28 |
[Java 개발자가 되기 위한 첫걸음 2] 01 메소드 (0) | 2022.05.27 |
[Java 개발자가 되기 위한 첫걸음 1] 04 배열 (0) | 2022.05.27 |
[Do it! 자바 프로그래밍 입문] 07 배열과 ArrayList (0) | 2022.05.26 |