기타/정보처리기사

[정보처리기사] C언어 구조체

hrming 2024. 9. 29. 12:11

C언어 구조체가 Java의 Class랑 비슷한 개념인가.. 싶어서 찾아보니 잘 정리된 내용이 있어서, 짚고 넘어가기로. 🤗


■ C언어 구조체

: 배열이 `동일한 자료형 변수의 모임`이라면, 구조체는 `종류가 다른 변수의 모임`. 

struct Person {
    char name[50];
    int age;
    float height;
};

 


■ C언어 구조체와 Java Class 비교

구분 C언어 구조체 Java Class
데이터를 그룹화하여 하나의 논리적 단위로 관리
사용자가 직접 정의한 타입으로, 구조체/클래스의 인스턴스를 여러번 사용할 수 있음
메서드 ⭕ 데이터와 해당 데이터를 조작하는 메서드가 함께 그룹화 ❌ 메서드를 직접 포함하지 않음
상속/다형성 ⭕ 상속과 다형성과 같은 객체 지향 개념을 지원  
접근 제어 ⭕ 접근 제어자를 사용하여, 데이터와 메서드의 접근 범위를 제어할 수 있음  ❌ 일반적으로 구조체의 모든 멤버에 대한 접근이 공개되어 있음
생성자 ⭕ 생성자를 사용하여 객체를 초기화하며, 객체 생성시 초기 상태 설정 가능 ❌ 직접 초기화 코드를 작성해야 함
자동
메모리관리
⭕ 가비지 컬렉터에 의해 메모리 관리가 자동으로 처리 ❌ 메모리 관리에 대한 직접적인 제어를 제공

 


참고 및 출처 : 

https://velog.io/@chobi_xo/C%EC%96%B8%EC%96%B4-%EA%B5%AC%EC%A1%B0%EC%B2%B4

 

C언어 구조체

배열이 자료의 형과 크기가 동일한 변수의 모임이라면 구조체는 자료의 종류가 다른 변수의 모임이라고 할 수 있다.예를 들어 이름, 나이, 키 필드가 필요한 사람 자료를 하나의 단위로 관리하

velog.io