객체 지향 프로그래밍

BiBi·2021년 1월 22일
0

컴퓨터 기초

목록 보기
5/10

객체 지향 프로그래밍 / 절차 지향 프로그래밍


클래스

class 안에는 public으로 된 클래스는 하나만 있어야 하고, 클래스 네임과 일치해야 한다.

public -> 접근 제어자

웹서버에서는 main이 필요 없음

new 키워드를 사용하여 생성자로 생성

대문자로 시작


메서드

함수의 일종.
반환하는게 없으면 void

카멜케이스


함수

stack 메모리 사용

num1=10
num2=20
resultaddNum()
n2=20
n1=10
args[]main()

함수가 끝나면 반환함!!


인스턴스

멤버 변수 => new 했을 때 생성된다.

참조변수 출력하면 classpart.Student@28a418fc -> heap 주소값(16진수 -> 32비트)
classpart.Student@5305068a


생성자(constructor)

객체를 생성할 때 new 키워드와 함께 호출

인스턴스를 초기화 하는 코드(주로 멤버 변수 초기화)

반환 값이 없음, 상속되지 않음

생성자는 클래스 이름과 동일

프로그래머가 생성자를 구현하지 않으면 컴파일러가 생성자 코드를 넣어준다.

오버로딩 - 같은 이름의 메서드/생성자지만 매개변수가 다르면 같은 이름도 사용 가능

private는 같은 클래스 내에서만 사용, 참조 가능(생성자에서 초기화는 가능)


정보 은닉

접근 제어자(access modifier)

  • public
  • private - 클래스 내부에서만 사용하겠다.
    • 메서드 제공
  • protected - 하위 클래스의 private를 상위 클래스에서는 사용
  • 아무것도 안 쓰는 경우 - 같은 패키지 내에서만

패키지가 다르면 그냥 int로는 사용 불가능 -> public int를 사용해야 한다.


this

  • 자기 자신의 메모리를 가리킴
  • 생성자에서 다른 생성자를 호출
  • 인스턴스 자신의 주소를 반환

static 변수

  • 공유 메모리(c언어에서는 global 변수)
  • 여러 인스턴스가 공유할 수 있음
  • new 할 때 생성하는게 아니라 처음 프로그램이 로드될 때 데이터 영역에 생성됨
  • static 변수는 instance 생성과 관련이 없음 -> static 메서드 안에서는 다른 instance 변수 사용 불가!!!!
  • 큰 메모리를 사용하면 안된다.


singleton pattern - 디자인 패턴의 일종

  • 단 하나만 존재하는 인스턴스
  • 생성자는 private으로 -> new로 생성할 수 없음
  • static으로 유일한 객체 생성
profile
Server Network Engineer

0개의 댓글