유튜브 영상보면서 알아둘 것들 필기! (객체지향프로그래밍 - 자바)

2021. 1. 27. 17:24·자바 공부

접근 제한자 : 외부 접근을 허용할지 허용하지 않을지 결정하는 키워드
private : 비공개
default : 패키지 내부 공개
protected : 상속 공개
public : 완전 공개

private의 경우 외부 접근을 막는 키워드인데 올바른 사용자도 접근하지 못하는 경우 발생
-> 우회하기 위한 방법으로 getter 와 setter사용.

getter methods : private 필드를 반환(get)
setter methods : private 필드를 변경(set)

자바 api
프로그래밍을 위해 만들어진 도구들 ->패키지의 형태로 제공

ex) Math 

-> import java.lang.Math; (java.lang은 패키지, Math는 클래스)

 

ArrayList  : 객체 관리하는 api.

-> import java.util.ArrayList;

ex)
ArrayList<String>ArrayList <String> names = new ArrayList <String>();

names.add("kim");

names.add("lee");

names.add("park");

System.out.println(names.get(2)); -> park 출력

names.remove(1); -> lee삭제 -> 1번 자리에 park이 채워짐

 

Arrays.toString(배열 이름) -> 대괄호로 배열 안의 값을 감싸고 각 값 사이에 ','를 자동으로 놓아준다.

 

클래스 구현
class name(클래스 이름)
fields(상태) -> 변수 선언부
methods(동작) -> 메소드 선언부

 

클래스가 있다 -> 객체를 만들 수 있다
ex) class Dog { ~~~~}
객체 생성 : new Dog();
객체 생성 후, 변수(인스턴스)화 : Dog dog1 = new Dog();
생성된 객체에 연결하는 법 : 연결된 변수와 '.'(dot)을 통해 접근 가능

ex) dog1.name = "쵸코"; ->객체 필드 초기화

출력 방법 : System.out.println(dog1.name);

 

메소드 스코프(메서드 영역, 범위) : 파라미터(매개변수), 지역변수
클래스 스코프 : 필드(인스턴스 변수)
 
생성자 : 클래스로부터 객체를 만들어내는 메소드, 객체 생성뿐만 아니라 초기화의 역할도 가지고 있다.
생성자 호출: 클래스_타입 변수명 = new 클래스_이름(전달 값);
생성자 정의 : 클래스_이름(파라미터){} -> 리턴 타입 x

변수의 타입은 크게 두 가지로 나뉜다
레퍼런스형 : ex) String Dog 등..  클래스 타입, 사용자 정의형 타입으로 불린다.
-> 객체 연결을 위한 타입
기본형 : int, double, char 등..

 

static : "공유"의 개념이 담긴 키워드
static fields : 클래스 변수 : "공유"를 위한 객체 외부 변수(객체 밖에서 공유) 
non- static fields : 인스턴스 변수 : 객체 내부에 존재하는 변수
static methods : 클래스 메소드 : "클래스"가 동작시키는 메소드, 주체 객체 없이 호출가능 : 인스턴스화(new연산자)없이 호출이 가능하다. -> 간편 기능 구현에 유용 -> Math.random();

non-static methods : 인스턴스 메소드 : "주체 객체"가 동작하는 메소드(주체 객체가 반드시 필요) 
-> 특정 객체의 동작 구현 시 유리 -> ex) dog1.run();

 

interface(인터페이스) : 일종의 역할(클래스에게 역할을 부여하는 것)
장점 : 1. 프로그럼 설계의 명확성
        2. 인터페이스 타입을 통해 연관 관계 형성
-> 업 캐스팅 가능 : 자식 객체를 부모의 타입으로 해석하는 것
    배열화(그룹화) 가능

ex)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
interface Alarm(인터페이스 이름){
    //프로토타입 메소드(내용이 없는 껍데기 메소드)
    public void beep();
    public void playMusic();
}
 
class SmartPhone implements Alarm {
    public void beep() { //프로토타입 메소드 오버라이딩(재정의)
        System.out.println("삐 --삐삐삐- 삐삐삐!");
    }
    
    puvlic void playMusic(){ //프로토타입 메소드 오버라이딩(재정의)
        System.out.println("이밤을 빌려 말해요~~");
    }
}
Colored by Color Scripter
cs

 

 

 

'자바 공부' 카테고리의 다른 글

[JAVA]초보 개발자 김주호와 기초부터 시작하는 자바공부 8일차 (은행, 입금, 출금, 계좌이체)  (0) 2021.01.22
[JAVA]초보 개발자 김주호와 기초부터 시작하는 자바공부 7일차 (ArrayList)  (1) 2021.01.20
[JAVA]초보 개발자 김주호와 기초부터 시작하는 자바공부 6일차 (전화번호부)  (0) 2021.01.19
[JAVA]초보 개발자 김주호와 기초부터 시작하는 자바공부 5일차  (0) 2021.01.18
[JAVA]초보 개발자 김주호와 기초부터 시작하는 자바공부 4일차 예제 풀이  (0) 2021.01.16
'자바 공부' 카테고리의 다른 글
  • [JAVA]초보 개발자 김주호와 기초부터 시작하는 자바공부 8일차 (은행, 입금, 출금, 계좌이체)
  • [JAVA]초보 개발자 김주호와 기초부터 시작하는 자바공부 7일차 (ArrayList)
  • [JAVA]초보 개발자 김주호와 기초부터 시작하는 자바공부 6일차 (전화번호부)
  • [JAVA]초보 개발자 김주호와 기초부터 시작하는 자바공부 5일차
김줘
김줘
김줘와 같이 데이터, 컴퓨터, IT 공부
  • 김줘
    초보개발자 김줘의 코딩일기
    김줘
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 데이터 엔지니어링 데브코스
      • 데이터
        • Airflow
        • Spark
        • Kafka
        • dbt
      • TroubleShooting
      • Docker
      • AWS
      • 크롤링, 스크래핑, 시각화
        • Selenium
        • 시각화
      • 코딩테스트
        • 프로그래머스
        • 입출력과 사칙연산
        • 정렬
      • Django
      • 자바 공부
      • 끄적끄적
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    프로그래밍
    데이터 엔지니어
    cloud
    TiL
    Azure
    오블완
    Python
    초보개발자
    데브코스
    티스토리챌린지
    Java
    부트캠프
    프로그래머스
    데이터 엔지니어링 데브코스
    에어플로우
    파이썬
    데이터 엔지니어링 데브코스 4기
    Airflow
    aws
    자바
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
김줘
유튜브 영상보면서 알아둘 것들 필기! (객체지향프로그래밍 - 자바)
상단으로

티스토리툴바