AI교육과정 - Java.5

단비·2022년 10월 6일
0

AI교육과정

목록 보기
5/69
  • 메소드(method)
    • 어떤 로직이나 기능을 만들어내는 방법(함수)

    • 코드를 재활용할 수 있도록 하여 경제적으로 코드를 작성할 수 있음

    • 객체를 생성해서 참조 변수를 통해 호출할 수 있는 함수

      클래스명 변수명 = new 클래스명();
      
      변수명.메소드명();
      접근제어자 [static] 반환타입 메소드이름(매개변수1, 매개변수2, ..){ // [] 는 옵션
      		메소드 이름이 호출되면 실행할 문장
      		[return 반환값]
      }
      // 반환타입이 없으면 void
      
      // 1. 이름만 호출하면 실행되는 메소드
      public void method1(){
      		System.out.println("Hello Java!");
      }
      
      // 2. 매개변수(parameter)가 있는 메소드
      public void method2(int num){
      		System.out.println(num);
      }
      
      // 3. return 값이 있는 메소드
      public int method3(int num){
      		return tot; // 메모리에 값이 올라가는 것 뿐 출력이 되진 않음
      } 
      
      // 4. 배열 메소드
      public static int method4(int[] values){
      		return values;
      } // 호출할 때나 메소드 안에 배열값 정의
      
      // 5. 매개변수가 가변적일 때(Keyword agruments)
      public int method5(int... values){
      		int sum = 0;
      		for(int val : values) sum += val;
      		return sum;		
      }
    1. static : run(실행) 시 메모리에 바로 업로드됨
      • 다른 클래스에 있을 경우 ‘클래스명.메소드명();’ 으로 호출
  • 메인메소드
    • Java 어플리케이션이 실행될 때 가장 먼저 실행되며 프로그램이 구동되는 메소드

    • JVM이 자동으로 실행시킴

    • String[]의 배열 값 넣는 방법은 하기 캡쳐 참고

      public static void main(String[] args){
      		for(String str : args) {
      			System.out.print(str + " ");
      		}

      ‘apple..’ 부분에 배열 값 작성

  • 프로그래밍의 종류
    • 객체지향 프로그래밍(OOP, Object Oriented Programming)
      • 실제 세계를 모델링하여 소프트웨어를 개발하는 방법
      • 데이터와 절차를 하나의 덩어리(집합)로 묶어서 생각
      • 여러명이 하나의 프로젝트를 개발하기 좋음 → 설계가 힘듦
    • 절차지향 프로그래밍
      • 물이 위에서 아래로 흐르는 것처럼 순차적인 처리가 중요시 됨
      • 프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 기법
      • 대표적인 언어가 C언어, 가독성이 좋고 여러명이 개발하기 힘듦
    • 함수형 프로그래밍
      • 프로그래머에게 프로그래밍의 관점을 갖게 하고 코드를 어떻게 작성할지 결정하는 역할
      • 모든 것을 함수로 나누어 문제를 해결하는 기법
      • 작은 문제를 해결하기 위한 함수를 작성하여 가독성을 높이고 유지보수를 용이
      • 대표적인 언어로는 클로저, 하스켈, 리스프
  • 클래스
    • 설계도와 같은 의미
    • 클래스(파일) → NEW 연산자 → 객체, 인스턴스(메모리)
    • 객체의 상태를 저장하는 필드(변수)와 객체의 행동을 나타내는 메소드(함수)로 구성
      • 객체(Object)
        • 소프트웨어 세계에 구현할 대상
        • 클래스에 선언된 모양 그대로 메모리에 생성된 실체
      • 인스턴스(Instance)
        • 설계도를 바탕으로 소프트웨어 세계에 구현된 구체적인 실체
        • 객체를 소프트웨어에 실체화 하면 그것을 인스턴스라고 부름(실체화된 인스턴스는 메모리에 할당)
        • 인스턴스는 객체에 포함되는 개념(스택에 생성된 객체에 힙의 주소값 저장할 때 힙의 데이터)
    • 클래스를 만드는 방법
      접근제어자 class 클래스명{
      		자료형 필드명(); // 변수(필드)
      		접근제어자 [static] 반환형 메소드이름(){ // 함수 -> 메소드
      }
      		클래스명 참조변수 = new 생성자();
  • 생성자(Constructor)
    • new 연산자를 통해 객체를 생성할 때 반드시 호출되는 메소드

    • 객체를 생성할 때 제일 먼저 실행되는 메소드

    • 필드를 초기화 하는 역할 (전역변수)

    • 반환 타입이 없음

    • 직접 생성하지 않으면 JVM이 자동으로 빈 생성자를 만들어 호출

    • get/set 메소드와 생성자를 함께 사용할 경우 빈껍데기 클래스 메소드(생성자)가 필요함

      [접근제어자] 클래스명(매개변수1,매개변수2...){
      		생성자가 호출되면 실행할 문장
      		this.변수명 = 매개변수 // this.변수 는 전역변수, 매개변수는 지역변수
      }
      //빈껍데기 클래스 메소드
      클래스명(){}
    • this 연산자

      • 현재 클래스 내에 존재하는 필드를 가리킴
    • this 메소드

      • 현재 클래스 내에 존재하는 생성자를 가르킴
    • 생성자 오버로딩

      • 시그니처가 다른 같은 이름의 생성자를 여러개 만드는 것
  • 필드의 선언 초기값
    • byte : 0
    • short : 0
    • int : 0
    • long : 0
    • char : \u0000
    • float : 0.0
    • double : 0.0
    • boolean : false
    • String, 배열, 클래스, 인터페이스 : null
profile
tistory로 이전! https://sweet-rain-kim.tistory.com/

0개의 댓글