Starbucks Caramel Frappuccino
본문 바로가기
  • 그래 그렇게 조금씩

분류 전체보기259

C- Pointer 포인터 개념 및 활용 (포인터 변수) 목차 바로가기 🚀 01. C에 대한 첫인상 02. 메모리와 프로세스 03. 포인터란? 04. 포인터 자료형 05. 포인터 변수 06. 주소 연산자 & 07. 포인터 연산자 * 08. 포인터 변수의 사이즈 09. 포인터 변수의 타입 10. 포인터와 배열 11. 문자열 포인터 12. 문자열 상수 포인터 13. Call by Value, Call by Reference 14. 포인터 반환 15. const 지정자 🤔 C에 대한 첫인상 Python, Swift, Java를 배우다 드디어 C언어를 학습하게 되었다. 막 엄청나게 복잡하고 문법도 괴랄 할 줄 알았는데 다행히? 막상 해보니 그 정도는 아닌 것 같다..ㅋㅋㅋ 확실히 최신 언어들이 C언어 기반이 맞구나 싶은 부분들도 많았다. 예전에는 언어 하나라도, 하나.. 2024. 2. 17.
2. 기본형과 참조형 (Primitive, Reference), NullPointerException 기본형(Primitive Type) 변수에 사용할 값을 직접 넣을 수 있는 데이터 타입(리터럴 값 or 복사한 값) 정수형: byte, short, int, long 실수형: float, double 논리형: boolean 문자형: char * String은 대문자 카멜케이스를 사용하는 것에서 유추할 수 있겠지만, Class이기 때문에 참조형이지만, java에서 new 연산자 없이 기본 데이터 타입처럼 사용하도록 해주는 특별한 클래스이다. 그렇기 때문에 내부 메서드가 다양한 것이다. (new 키워드를 통해 문자열을 생성하면 힙에 각각 생성된다 -> 문자열 상수 풀을 활용하지 못함!) 연산 - 변수 자체에 값이 있기 때문에 연산이 가능하다. 변수 대입 - 기본형의 경우 변수에 들어 있는 실제 값 자체를 복.. 2024. 2. 12.
1. 클래스 (Class) //데이터를 추가하거나 제거할 떄 3가지 배열의 인덱스에 대해 수정이 필요함. String[] studentNames = {"학생1", "학생2", "학생3"}; int[] studentAges = {15, 16, 20}; int[] studentGrades = {90, 80, 70}; 데이터마다 변수를 선언하는 것의 비효율성을 느껴 배열이 등장했다. 하지만 배열 또한 여러 관련된 데이터가 분산되어 있다면 데이터의 추가, 삭제, 수정 등에서 불편함이 있다. (불안정하기도 하고) -> (이름, 나이, 점수) 이런 식으로 관련된 데이터를 하나로 묶어서 효율적으로 관리해보자! (클래스의 등장) (+ Swift였다면 Struct를 만들어야지~라고 했겠지만 자바에서는 모두 클래스다.) 클래스 선언 클래스는 객체 .. 2024. 2. 10.
0. OOP의 세계로 Java의 기본 문법을 학습했다. Swift를 학습하며 객체 지향에 대한 탐구를 해보며 아 대략 이런 느낌이구나.. 정도는 알았지만 (사실 Swift는 프로토콜 지향에 가깝다고 생각하지만..) 여전히 객체 지향 프로그래밍에 대한 개념과 사용처에 대한 노하우는 많이 부족하다고 생각한다. 지금은 객체 지향이라고 하면 관련 데이터와 동작을 묶어서 캡슐화 하고, 공통된 부분을 추출해 추상화 하고.. 결국 클래스(or 구조체)를 설계하고 인스턴스를 찍어내고.. 프로퍼티와 메서드를 이리저리 조작하는 것 정도로 설명할 수 있겠는데 본 학습을 통해서 객체 지향에 대한 개념이 더 확실하게 잡히기를 바란다 ! 2024. 2. 10.
9. 메서드(method) " 재사용성, 유지보수 " input -> function -> output 메서드 선언과 본문 public static int add(int a, int b) { System.out.println(a + "+" + b + "연산 수행"); int sum = a + b; System.out.println("결과1 출력 = " + sum); return (a + b); } 제어자(Modifier) - public - 접근제어자 (public 수준은 다른 클래스에서 호출 가능함) - static - 정적 메서드 (데이터 영역에 저장, 한 번만 초기화) 반환 타입(Return Type) 메서드 호출 후 반환하는 데이터 타입 지정. 반환값이 없는 경우 void - int - 반환 타입 메서드 이름(Method .. 2024. 2. 10.
8. 배열 Array 지금까지는 단순한 변수에 값을 할당하는 방식으로 데이터를 관리했었다. 하지만 여러 비슷한 변수들이 필요한 경우, 변수의 양이 굉장히 많은 경우 비효율적인 상황이 생길 수 있다. public class Array1 { public static void main(String[] args) { int student1 = 90; int student2 = 80; int student3 = 70; int student4 = 60; int student5 = 50; //학생을 한 명 더 추가한다면 int student6 = 40; //반복문으로 해결할 수 없나? for(int i=1; i = maxProducts) { System.out.println("더 이상 상품을 등록할 수 없습니다."); continue; .. 2024. 2. 2.