Programming

Programming/Java

[Java] 상속 (Inheritance)

상속은 부모가 가지는 재신을 자식에게 물려주는 행동을 말하며, 자바에서는 부모 클래스가 가지는 멤버 변수, 멤버 메소드를 자식 클래스에게 물려주는 행동을 의미한다. 상속은 부모 클래스에 있는 100% 모든 내용을 복사해서 자식 클래스에 붙여넣기 하는 것으로 이해할 수 있다. 이때 중요한 것은 넘겨준다는 것이 복사 붙여넣기를 의미한다는 점이다. 이러한 코드 재사용의 상속의 특징으로 인해 비용 절감이 가능해진다. 💡상속 관계에 있는 클래스 호칭 상속을 어떤 목적으로 하느냐에 따라 부르는 말이 조금씩 달라진다. 1. 부모 클래스

Programming/Java

[Java] 클래스 로딩, 객체 변수, 정적 변수 (static 변수)

💡클래스 로딩 (Class Loading) 메인 메소드가 실행되기 전에 여러가지 작업이 일어나는데, 그 중에 하나가 '클래스 로딩'이라는 작업이다. 클래스 로딩은 프로그램을 실행하기 전에 클래스의 정의를 미리 읽는 작업 (인식하는 작업)을 의미하며, 이는 클래스를 사용할 수 있도록 메모리에 기억하는 과정으로 이해할 수 있다. 클래스 로딩 과정에서 모든 static 키워드를 인식하고, static을 만나는 순간 메모리 실체화(구현)을 하게 된다. 그래서 정적 변수는 main()가 만들어지기 전에 만들어진다. 💡객체 변수 private String name; private int age; 객체 변수는 static이 붙지 않은 변수를 말하며, 개인 데이터를 의미한다. 💡정적 변수 private static S..

Programming/Java

[Java] 객체와 클래스: 클래스의 사용, 구조, 규칙

자바는 객체 지향 프로그래밍 언어, Object Oriented Programming (OOP)로서 객체를 활용하는 것을 지향한다. 객체를 사용할 때 우리는 클래스라는 틀을 만들어서 사용한다. 이론과 함께 예시를 살펴보면서 이해하도록 하자. 💡객체 객체는 사전적인 정의로 실제 존재하는 것을 말한다. 객체지향 이론에서는 사물과 같은 유형적인 것뿐만 아니라, 개념이나 논리와 같은 무형적인 것(성격, 기분)들도 객체로 간주하며, 프로그래밍에서의 객체는 클래스에 정의된 내용대로 메모리에 생성된 것을 뜻한다. 한 가지 예시로 맥도날드는 2000년대에는 주문을 사람이 받았다. 그러나 지금은 모든 주문을 키오스크가 받고 있다. 이처럼 사람이 하던 일을 컴퓨터로 옮겨 놓는 과정에서 어떤 요소를 인식하고 구분짓기 위한 ..

Programming/Java

[Java] 배열 메소드 3: toUpperCase(), toLowerCase(), startsWith(), endsWith()

💡toUpperCase() 메소드, toLowerCase() 메소드 대소문자 구분 메소드 String content = "오늘 수업은 Java입니다."; String word = "java"; System.out.println(content); // 오늘 수업은 Java입니다. System.out.println(content.toUpperCase()); // 오늘 수업은 JAVA입니다. System.out.println(content.toLowerCase()); // 오늘 수업은 java입니다. 자바(Java)는 대소문자를 구분하는 언어로, 변수, 메서드, 클래스 등의 모든 식별자의 대소문자를 구별하여 처리한다. 예로들어 자바에서 Java와 java는 대소문자의 차이로 인해 다른 단어로 인식하게 된다. ..

Programming/Java

[Java] 배열 메소드 2: length(), trim(), replace(), split()

💡length() 메소드 문자 길이 제한 Scanner scan = new Scanner(System.in); System.out.print("이름: "); String name = scan.nextLine(); if (name.length() >= 2 && name.length() 스페이스, 탭, 개행) 문자를 제거한다. 문자열의 좌우(시작과 끝)에 존재하는 공백을 제거한다는 특징이 있으며, 맨 앞의 공백을 사용자가 실수로 입력했다고 판단하여 공백을 제거할 때 사용한다. 💡replace() 메소드 문자열 치환 (바꾸기) String txt = "안녕하세요. Isaac입니다."; int index = txt.indexOf("Isaac"); String temp1 = txt.substring(0, inde..

Programming/Java

[Java] 배열 메소드 1: contains(), charAt(), substring(), indexOf()

💡contains() 메소드 배열 내 데이터의 유무 검색 String[] member = {"AAA", "BBB", "CCC", "DDD"}; String name = "AAA"; if (contains(member, name)) { System.out.println(name + " 있음"); } else { System.out.println(name + " 없음"); } private static boolean contains(String[] member, String name) { for(int i=0; i 문자코드값 변환 가능 System.out.println(txt.substring(5, 6)); // "바" > 문자코드값 변환 불가능 charAt() 메소드는 한글자를 뽑아오지만, substrin..

Programming/Java

[Java] 배열 (Array): Arrays 클래스

배열은 자료 구조의 하나이며, 자료형의 기준으로 따지자면 참조형의 하나이다. 변수는 하나의 데이터만을 저장할 수 있는 반면, 배열은 여러 개의 데이터를 저장할 수 있는 집합 자료형이다. 배열에는 같은 자료형과 같은 성격을 가지고 있는 데이터를 집합으로 넣을 수 있다. 프로그래머에게 요구되는 필수 요소에는 문제해결능력인 알고리즘과 데이터를 관리하는 자료구조가 있는데, 배열은 이중 자료구조에 속하는 중요한 요소이다. 💡배열의 문법 자료형[] 배열명 = new 자료형[길이]; int[] nums = new int[3]; // 길이(방의 개수): 3 // 인덱스(방 번호): 0 ~ 2, 0 ~ 길이 - 1 // 방 1개(데이터): 요소(Element) JVM에서 new 예약어를 사용하면 메모리 어딘가에 int[..

Programming/Java

[Java] 분기문: break문, continue문

분기문을 이용하면 개발자가 코드의 흐름을 원하는 곳으로 이동할 수 있다. 분기문의 종류로는 break, continue, goto가 있으며, goto는 가독성을 떨어트린다는 이유로 JDK 1.5 때 폐기되었다. 분기문은 다른 제어문과 함께 사용하며, 독립적인 사용이 불가능하다는 특징이 있다. 💡break문 break는 자신이 속해 있는 제어문을 탈출하는 역할을 한다. Unreachable code 오류 break문을 만나면 하던 일을 멈추고 무조건 탈출을 한다. 오류가 나는 이유는 들어오자마자 break문을 만나 탈출하기 때문에 도달할 수 없는 코드가 되었기 때문이다. /* for (int i = 1; i 1번 ~ 30번 for(int i = 1; i

Isaac-Christian
'Programming' 카테고리의 글 목록 (39 Page)