슈퍼코딩/주특기(JAVA)

2024.04.29(월) 슈퍼코딩 신입연수원 5주차 Day 1 후기 - OOP, 메서드, 클래스

곰돌이볼 2024. 4. 29. 08:38
  • 강의
    • 23강(Big picture) ~ 26강(자바 클래스와 객체)

객체지향 프로그래밍(=OOP) 


  • Object Oriented Programming 
  • 객체를 이용한 코드 작성방법
  • 객체 = 속성 + 행위
  • 장점
    • 코드 재사용성
    • 유지보수 용이성
    • 대형 프로젝트에 적합
  • OOP = SOLID + (추상화, 캡슐화, 상속, 다형성)

메소드(Method)


  • 함수 : 여러 명령어들의 집합
  • 구조
    • void setAge(int age) { return age; }
    • void : 반환 타입
    • setAge : 메소드 이름
    • int age : parameter(= 함수 인자, 함수, 매개변수, argument)
    • return age : 반환값(=리턴값, 결과값)
  • 함수 ⊇ 메소드
    • but, java는 함수 = 메소드
    • 함수 : 객체 없이 사용 가능
    • 메소드 : 객체를 이용해서 사용 가능

클래스(class)


  • 클래스
    • 클리스(class) = 멤버 변수(=클래스 필드) + 멤버 함수(클래스 메소드)
    • 실행 클래스 : main method가 있는 메소드
    • 일반 클래스 : main method가 없는 메소드
  • 인스턴스(=instance, 객체) : 클래스의 실체화
    • 생성자를 통해서 객체 생성
    • 디폴트 생성자 : 기본적으로 생성되는 생성자, 생성자를 정의하지 않을 경우 사용됨
    • 오버로드(overload) : 메서드명이 같고, 매개변수 개수 또는 타입이 다르게 선언하는 방식
  • 이름 네이밍
    • Pascal case : HelloWord
    • Camel case : helloWord
    • snake case : hello_word
    • Screaming snake case : HELLO_WORD
    • Kebab case : hello-word
  • Java Naming Convention
    • Pascal case → 클래스명
    • Camel case → 변수명, 메소드명
    • Screaming snake case → 상수명